Project1
标题:
如何为特技代入某个数值(类似于SP消耗)?
[打印本页]
作者:
桐人
时间:
2014-7-10 19:22
标题:
如何为特技代入某个数值(类似于SP消耗)?
我在 Game_Battler 1 中写了 attr_reader : apcost 之后,仿照SP消耗写了一句 $data_skills[1].apcost = 10 ,结果出来 NoMethodError
……我想问一下该如何为某号特技代入某个数值 (类似于SP消耗)?
作者:
RyanBern
时间:
2014-7-10 19:45
attr_reader :apcost不应该写在这里,而且写法也不对。
如果要给RPG::Skill加个新属性,应该这样写:
module RPG
class Skill
attr_accessor :apcost
alias old_initialize initialize
def initialize
@apcost = 0
old_initialize
end
end
end
复制代码
这样可以在脚本中写$data_skills[1].apcost = 10这样的东西。
不过,这种东西无法保存,退出游戏后再次进入需要重新设定才行。
注:这种设置方法对那些没经过设置的,例如调用$data_skills[2].apcost,会返回nil,这点要注意。
作者:
taroxd
时间:
2014-7-10 20:02
本帖最后由 taroxd 于 2014-7-10 20:03 编辑
RyanBern 发表于 2014-7-10 19:45
attr_reader :apcost不应该写在这里,而且写法也不对。
如果要给RPG::Skill加个新属性,应该这样写:这样可 ...
我的建议吧,这种东西还是存在某个全局变量(比如$game_system)的实例变量里,这样就可以存档了
把 $game_system 的实例变量 @apcost 初始化成一个数组(或哈希),然后 attr_reader :apcost 就可以了
作者:
桐人
时间:
2014-7-10 20:25
解决了!谢谢您了!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1