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

Project1

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

[已经解决] 急求~关于$data_skills用法

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1912
在线时间
1554 小时
注册时间
2013-4-13
帖子
917
跳转到指定楼层
1
发表于 2013-4-16 08:36:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 沉滞的剑 于 2013-4-16 10:15 编辑

我照着原程序想读取一下$data.skills里的数据
我一开始以为这是个数组,然后就写p $data_skills.name
然后系统告诉我这是个个nilclass类,是没有[]方法滴...
然后我就郁闷了
为什么原程序这么写
@item.object = $data_skills[skill_id]
不会报错,谁能告我 $data_skills到底是个啥,该怎么用啊


---------------------------
我想实现的效果是遍历全部技能名....应该怎么写

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

2
发表于 2013-4-16 09:54:15 | 只看该作者
它到底是个啥,打开控制台。用 p $data_skills 看看不就知道了
发现它就是个数组,但是里面太乱,再试试 $data_skills.each {|skill| printf skill.class.to_s + " "}
发现第一个值为nil,原来直接遍历 $data_skills 对 nilClass 调用 name 方法导致报错。

$data_skills[1..-1] 就能排除掉第一个

点评

啊啊!还是不行.....任何数组操作都无效!!  发表于 2013-4-16 09:59
啊,这么回事  发表于 2013-4-16 09:56
试了很多遍了p $data_skills.class => NilClass 不知道为什么,我读快哭了....  发表于 2013-4-16 09:55
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1912
在线时间
1554 小时
注册时间
2013-4-13
帖子
917
3
 楼主| 发表于 2013-4-16 09:55:07 | 只看该作者
本帖最后由 沉滞的剑 于 2013-4-16 09:56 编辑

作废作废,作废

点评

执行 rgss_main { SceneManager.run } 之前,数据都是没有初始化的. 全局搜索 $data_skills 就能查看了。  发表于 2013-4-16 10:09
我在插脚本的地方写的....  发表于 2013-4-16 10:02
你是不是在游戏数据生成以前对它操作?....  发表于 2013-4-16 10:00
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
42 小时
注册时间
2009-12-2
帖子
27
4
发表于 2013-4-16 10:00:08 | 只看该作者
$data_skills是数组,p $data_skills.name应该改成p $data_skills[1].name这样才对

遍历全技能名
for skill in $data_skills
  if skill != nil
    p skill.name
  end
end

因为这个for是从0开始的,而$data_skills的数据是从1开始的,$data_skills[0]是空的,所以要判断一下
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1912
在线时间
1554 小时
注册时间
2013-4-13
帖子
917
5
 楼主| 发表于 2013-4-16 10:05:03 | 只看该作者
ljyinvader 发表于 2013-4-16 10:00
$data_skills是数组,p $data_skills.name应该改成p $data_skills[1].name这样才对

遍历全技能名

不好使...提示我each方法在nill:Nillclass里没有定义...

点评

谢谢....明白了。  发表于 2013-4-16 10:13
我知道了,你的$data_skills是空的肯定是因为你在游戏开始之前写的,这个时候还没读数据库  发表于 2013-4-16 10:12
在游戏地图里新建了一个事件,然后里面写的脚本  发表于 2013-4-16 10:11
- -for 结构用的是块方法each....你在哪里填写的?能详细说明一下么?谢谢。  发表于 2013-4-16 10:09
我用的是好的啊,each方法是啥?  发表于 2013-4-16 10:08
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1912
在线时间
1554 小时
注册时间
2013-4-13
帖子
917
6
 楼主| 发表于 2013-4-16 10:14:44 | 只看该作者
Sion 发表于 2013-4-16 09:54
它到底是个啥,打开控制台。用 p $data_skills 看看不就知道了
发现它就是个数组,但是里面太乱,再试试 $d ...

谢谢,又上了一课。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-5 21:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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