查看: 2161|回复: 1

[已经过期] 请问:窗口的参数为什么不能设置成实例变量

[复制链接]
梦石
0
星屑
4761
在线时间
285 小时
注册时间
2013-10-13
回帖
580
发表于 2022-8-9 22:40:27 | 显示全部楼层 |阅读模式

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

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

×
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)没显示错误
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2022-8-10 00:37:45 | 显示全部楼层
本帖最后由 guoxiaomi 于 2022-8-10 00:41 编辑

注意,Window是内部类。对于F1里提到的那些内部类,其各个属性并不是用实例变量实现的,读取要用self.xxx,赋值要用self.xxx = yyy。有一些带set方法的属性,赋值尽量用self.xxx.set(yyy, ...)

第二个问题,两者的区别在于前者是在调用方法,后者是在定义方法。你需要补充一下ruby的相关基础知识了。
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部