Project1
标题:
请问:窗口的参数为什么不能设置成实例变量
[打印本页]
作者:
kvkv97
时间:
2022-8-9 22:40
标题:
请问:窗口的参数为什么不能设置成实例变量
class Window_Command < Window_Selectable
def initialize(width,commands)
super(0,0,width,commands.size*32+32)
self.contents=Bitmap.new(width-32,height-32)
end
end
我把参数width设置成@width,结果显示错误?为什么在$game_player里面的参数就可以用实例变量,如if passable?(@x,@y,4)?
另外,我把@command_window=Window_Command.new(192,["开始","继续","结束"],@a=192)加上@a=192,为什么显示参数错误?在initialize(width,commands)后面加参数@a=192可以啊,(width,commands,@a=192)没显示错误
作者:
guoxiaomi
时间:
2022-8-10 00:37
本帖最后由 guoxiaomi 于 2022-8-10 00:41 编辑
注意,Window是内部类。对于F1里提到的那些内部类,其各个属性并不是用实例变量实现的,读取要用self.xxx,赋值要用self.xxx = yyy。有一些带set方法的属性,赋值尽量用self.xxx.set(yyy, ...)
第二个问题,两者的区别在于前者是在调用方法,后者是在定义方法。你需要补充一下ruby的相关基础知识了。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1