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

Project1

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

[已经解决] 关于$data_items的子方法调用出错,求助

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-19
帖子
40
跳转到指定楼层
1
发表于 2010-9-3 11:09:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
帖子
573
2
发表于 2010-9-3 11:17:06 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-19
帖子
40
3
 楼主| 发表于 2010-9-3 11:32:15 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
帖子
573
4
发表于 2010-9-3 11:42:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-19
帖子
40
5
 楼主| 发表于 2010-9-3 11:51:06 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

6
发表于 2010-9-3 11:54:13 | 只看该作者

  1. def draw_item(e)
  2.     stone = @stone[e]
  3.     num = $game_party.item_number(stone.id)
  4.     self.contents.font.color = normal_color
  5.     x = 4
  6.     y = e *32
  7.     rect = Rect.new(x,y,200,32)
  8.     draw_icon(stone.icon_index, x, y+4, true)   
  9.     self.contents.draw_text(x+30,y,192,32, stone.name)
  10.     self.contents.draw_text(x+224,y,16,32,"X",1)
  11.     self.contents.draw_text(x+242,y,24,32,num.to_s,1)
  12.   end
复制代码

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-19
帖子
40
7
 楼主| 发表于 2010-9-3 12:57:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

8
发表于 2010-9-3 13:38:16 | 只看该作者
本帖最后由 铃仙·优昙华院·因幡 于 2010-9-3 13:42 编辑

回复 Phil 的帖子

我测试过了,正常。
   

这个是你写的脚本的运行截图~~~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-6-19
帖子
40
9
 楼主| 发表于 2010-9-3 14:07:33 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

10
发表于 2010-9-3 14:38:23 | 只看该作者
本帖最后由 铃仙·优昙华院·因幡 于 2010-9-3 14:47 编辑

回复 Phil 的帖子

我分析下你的错误出现的原因吧。

先看看这句:
  1. @stone = []
  2. for i in 1...$data_items.size
  3.   @stone.push($data_items[i])
  4. end
复制代码
这里知道从1开始计数的说,掠过等于 0 的情况。
-----------------------
  1. if @stone.size > 0
  2.       self.contents = Bitmap.new(200,row_max * 32)
  3.       for i in [email][email protected][/email]
  4.         draw_item(i)
  5.       end
复制代码
这里使用的是缓存数组 @stone 的序号 i 当做 draw_item 方法的参数。
------------------------------
  1. def draw_item(e)
  2.     stone = @stone[e]
  3.     num = $game_party.item_number(stone.id)
  4.     self.contents.font.color = normal_color
  5.     x = 4
  6.     y = e *32
  7.     rect = Rect.new(x,y,200,32)
复制代码
到这里没啥问题。
-----------------------------
  1. self.contents.draw_icon($data_items[e].icon_index, x, y+4, enabled = true)  
复制代码
这里问题就来了, 出错地方有三处。
1. draw_icon 方法是定义在 Window_Base 里的,不是 Bitmap 里。
2. e 是序号,是从0开始的,但是 $data_items 的 0 是 nil 呀,之前知道掠过0 ,这里为什么不去注意下呢?
3. enabled = true 直接填写 true 就好。
   

点评

不会,估计是被 RGSS 当成未定义变量来处理吧。和 C 有点点类似,一个是 nil ,一个是随机内容~~  发表于 2010-9-3 15:51
啊列~~看到...了……意外意外~~~  发表于 2010-9-3 15:50
$data_items[$data_items.size]必须是nil(很奇怪rgss中不会报数组越界)  发表于 2010-9-3 15:48
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-13 07:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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