Project1
标题:
神奇的$game_actors[1].states[i].id==4请高手解释
[打印本页]
作者:
277297575
时间:
2011-8-10 14:26
标题:
神奇的$game_actors[1].states[i].id==4请高手解释
额,不知道是神奇还是语法错误。
在新建工程的脚本里弄个函数
def abc
for i in 0..$game_actors[1].states.size
p $game_actors[1].states[i].id
end
end
复制代码
然后调用这个函数,不管角色1有没有状态,一定会得到个4出来,是神奇还是语法错误,求解这个4是何物。 dsu_plus_rewardpost_czw
作者:
仲秋启明
时间:
2011-8-10 15:10
是不是总共设置了4个状态
作者:
亿万星辰
时间:
2011-8-10 16:43
本帖最后由 亿万星辰 于 2011-8-10 16:53 编辑
id这个东西是个很神奇的方法……{:nm_1:}
你可以去p一下其他变量的id看看~
p 1.id
你会看到一个十分离奇的结果{:nm_1:}
所以请在.id之前先判断这个对象是否为nil
作者:
忧雪の伤
时间:
2011-8-10 17:02
本帖最后由 忧雪の伤 于 2011-8-10 17:12 编辑
……纳尼,存在
RPG::State#id
,那……
顺便问下为什么已经停用的东西还存在?RGSS的Ruby 不是 1.8.2 么……
用 Ruby 1.9.2 测试报错无误啊……
作者:
277297575
时间:
2011-8-10 18:08
原来以为.id只有指定的东西才有,现在茅塞顿开任何合法的东西都可以.id,而且.id.id.id.id还可以翻倍计算数值,otz。
作者:
IamI
时间:
2011-8-10 18:19
本帖最后由 IamI 于 2011-8-10 18:21 编辑
翻阅object类,可知有一个公用id方法,不重复的别名__id__,是脚本中一个对象的唯一编号。
至于其他id方法由于Ruby无多态,直接覆盖掉了原来的id方法。
大脑崩坏时间~
p nil.id
p nil.__id__
p $data_actors[4].id
p $data_actors[4].__id__
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1