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

Project1

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

用哈稀表显示人物状态。

 关闭 [复制链接]

Lv1.梦旅人

茄孓

梦石
0
星屑
72
在线时间
140 小时
注册时间
2007-5-29
帖子
956
跳转到指定楼层
1
发表于 2008-5-15 05:13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
菜单画面人物状态的窗口一部分
a = {1=>0,2=>1,3=>2,4=>3}
for i in a.values
      x = 64
      y = 116
      actor = $game_party.actors
      draw_actor_graphic(actor, x - 40, y + 80)
end
这样显示的话,那么
  def draw_actor_graphic(actor, x, y)
    bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
   这就出错了。
   
cw = bitmap.width / 4
    ch = bitmap.height / 4
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  end
不知道为什么,这样不是一样显示4个主角么
版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
2
发表于 2008-5-15 07:16:03 | 只看该作者
出错信息呢?

你先看看actor的值是什么,可能是nil
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1265
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

3
发表于 2008-5-15 07:35:39 | 只看该作者
你確認你的隊伍裏面有4個人?
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv1.梦旅人

茄孓

梦石
0
星屑
72
在线时间
140 小时
注册时间
2007-5-29
帖子
956
4
 楼主| 发表于 2008-5-15 19:34:30 | 只看该作者
以下引用禾西于2008-5-14 23:35:39的发言:

你確認你的隊伍裏面有4個人?

对了,我想问的就是这个了
如何判断此ID是否在队伍中,如果不在则漏过处理?
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

5
发表于 2008-5-15 19:36:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

6
发表于 2008-5-15 19:39:09 | 只看该作者
数组有个方法  叫做include?(val)若数组中包含 ==val 的单元就返回真。
可以用这个
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

茄孓

梦石
0
星屑
72
在线时间
140 小时
注册时间
2007-5-29
帖子
956
7
 楼主| 发表于 2008-5-15 20:35:53 | 只看该作者
以下引用沉影不器于2008-5-15 11:36:47的发言:

a = {1=>0,2=>1,3=>2,4=>3}
for i in a.values
    x = 64
    y = 116
    actor = $game_party.actors
    next if actor == nil
    draw_actor_graphic(actor, x - 40, y + 80)
end
问题在于哈希变成了为使用哈希而使用,就这个:for i in 0...4不就可以了

我的角色ID是随机出现了,如果ID是100,那么找不到100ID 就出现描绘行走图出错
。。。如果可以漏过没有此ID的描绘就好了。
还有
a = {1=>0,2=>1,3=>2,4=>3}
for i in a.values
p i # 好象会显示两次数组的数据 因为总人数加了
y = i*116
这样在菜单画面就会多描绘出一个相同的人物在下方
end

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

8
发表于 2008-5-15 22:40:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-5-8
帖子
430
9
发表于 2008-5-15 22:41:50 | 只看该作者
什么是哈稀表啊?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

茄孓

梦石
0
星屑
72
在线时间
140 小时
注册时间
2007-5-29
帖子
956
10
 楼主| 发表于 2008-5-16 04:47:35 | 只看该作者
以下引用沉影不器于2008-5-15 14:40:43的发言:


我的角色ID是随机出现了,如果ID是100,那么找不到100ID 就出现描绘行走图出错
。。。如果可以漏过没有此ID的描绘就好了。


如我前头改的那样加个next if actor == nil判断nil的情况,如果您没误会$game_party.actors那个i的含义……此i不是数据库id而是角色在队伍里的序号

是的``这个我刚看到。。。的确我把$game_party.actors[]理解错了
之后我改成$game_acotrs[x]
这样就可以描绘了,
不过 循环 X.values时
如果我的第一个角色ID是1 后三个角色ID为100,101,102
那么y按 i*116 排列不知为何后3个角色的描绘的数据全部会重复描绘在菜单窗口里。。
[原来菜单内4个显示角色属性的地方,变为每个index显示4个角色属性]
[角色一号我是单独描绘]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-29 21:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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