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

Project1

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

[已经解决] 神奇的$game_actors[1].states[i].id==4请高手解释

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
115
在线时间
247 小时
注册时间
2005-12-28
帖子
164
跳转到指定楼层
1
发表于 2011-8-10 14:26:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
额,不知道是神奇还是语法错误。
在新建工程的脚本里弄个函数
  1. def abc
  2.   for i in 0..$game_actors[1].states.size
  3.     p $game_actors[1].states[i].id
  4.   end
  5. end
复制代码
然后调用这个函数,不管角色1有没有状态,一定会得到个4出来,是神奇还是语法错误,求解这个4是何物。

点评

新建工程看到什么了?  发表于 2011-8-10 16:21

Lv4.逐梦者

醉啸 长风万里

梦石
0
星屑
6197
在线时间
6595 小时
注册时间
2007-12-16
帖子
4501

贵宾

2
发表于 2011-8-10 15:10:25 | 只看该作者
是不是总共设置了4个状态

点评

在新建工程的脚本里弄个函数没看到? 语法错误在哪里?请指点,如果你不知道,请别说些无关的内容,谢谢。  发表于 2011-8-10 15:34
必须语法错误  发表于 2011-8-10 15:10

还在龟速填坑中
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

3
发表于 2011-8-10 16:43:59 | 只看该作者
本帖最后由 亿万星辰 于 2011-8-10 16:53 编辑

id这个东西是个很神奇的方法……{:nm_1:}
你可以去p一下其他变量的id看看~
p 1.id
你会看到一个十分离奇的结果{:nm_1:}
所以请在.id之前先判断这个对象是否为nil

点评

好像数字的.id 会对应一个自身*2+1的数,然后变量.id就是1,开关的.id 关的时候是0开了就是2......太神奇了。  发表于 2011-8-10 17:48
p RUBY_VERSION # => 1.8.2,求解释。  发表于 2011-8-10 17:37
可是 Object.method_defined?(:id) 却是 true,囧。求解。  发表于 2011-8-10 17:10
id 在 1.7 已经停用了才对啊……  发表于 2011-8-10 17:10
囧~出现了4~啥情况= =||  发表于 2011-8-10 16:54
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

4
发表于 2011-8-10 17:02:30 | 只看该作者
本帖最后由 忧雪の伤 于 2011-8-10 17:12 编辑

……纳尼,存在 RPG::State#id ,那……




顺便问下为什么已经停用的东西还存在?RGSS的Ruby 不是 1.8.2 么……
用 Ruby 1.9.2 测试报错无误啊……

点评

说明我们被欺骗了~  发表于 2011-8-10 17:36
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
115
在线时间
247 小时
注册时间
2005-12-28
帖子
164
5
 楼主| 发表于 2011-8-10 18:08:49 | 只看该作者
原来以为.id只有指定的东西才有,现在茅塞顿开任何合法的东西都可以.id,而且.id.id.id.id还可以翻倍计算数值,otz。
回复

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

6
发表于 2011-8-10 18:19:04 | 只看该作者
本帖最后由 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__

点评

原来这4是这么来的,受教了。这样for i in 0..$game_actors[1].states.size-1才是正确的,多谢指定。  发表于 2011-8-10 18:38
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 17:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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