设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1558|回复: 3
打印 上一主题 下一主题

[已经解决] 方法的改名與繼承?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
292 小时
注册时间
2009-10-30
帖子
24
跳转到指定楼层
1
发表于 2017-2-27 12:50:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 graygod 于 2017-2-27 13:02 编辑

使用了很多腳本   出錯了  我知道錯在那  只是不能理解


首先是 最底下的腳本


class Game_Actor < Game_Battler

  alias use_item_bubs_mix use_item
  def use_item(item)
     p "1"
    use_item_bubs_mix(item) # alias
  end
end

中間的腳本
class Game_Battler < Game_BattlerBase
alias use_item_all_ve_toggle_target use_item
  def use_item(item)
    p "2"
    use_item_all_ve_toggle_target(item)
  end

end

最上面的腳本
class Game_Battler < Game_BattlerBase

def use_item(item)
   p "3"
    pay_skill_cost(item) if item.is_a?(RPG::Skill)
    consume_item(item)   if item.is_a?(RPG::Item)
    item.effects.each {|effect| item_global_effect_apply(effect) }
  end
  
  end

問題來了   我在最底下  在增加一個

class Game_Battler < Game_BattlerBase

def use_item(item)
   p "4"
  end
  
但結果仍然是  印出   
1
2
3

而不是
1
4
最下面的腳本都不會執行   請問是我那裡觀念錯了

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2017-2-27 13:03:28 | 只看该作者
本帖最后由 喵呜喵5 于 2017-2-27 13:06 编辑

这是一个 alias 的陷阱
具体的细节看这里:https://rpg.blue/thread-383400-1-1.html?_dsign=c57e9efb
一个解决方案看这里:https://github.com/miaowm5/RGSS3 ... 6%96%B9%E5%BC%8F.rb

套用到你这个问题里,锅在这段代码中:
  1. class Game_Actor < Game_Battler

  2.   alias use_item_bubs_mix use_item
  3.   def use_item(item)
  4.      p "1"
  5.     use_item_bubs_mix(item) # alias
  6.   end
  7. end
复制代码


稍加修改变成这样即可解决问题:
  1. class Game_Actor < Game_Battler
  2.   instance_methods(false).include?(:use_item) ||
  3.     (def use_item *args; super; end)
  4.   alias use_item_bubs_mix use_item
  5.   def use_item(item)
  6.      p "1"
  7.     use_item_bubs_mix(item) # alias
  8.   end
  9. end
复制代码

点评

己經解決了,感激不盡 不過我還是把方法重寫了一次  发表于 2017-2-28 11:09
神一样的选手  发表于 2017-2-28 09:34

评分

参与人数 1梦石 +1 收起 理由
RaidenInfinity + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 00:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表