Project1

标题: 用哈稀表显示人物状态。 [打印本页]

作者: 9244579    时间: 2008-5-15 05:13
标题: 用哈稀表显示人物状态。
菜单画面人物状态的窗口一部分
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个主角么 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: hitlerson    时间: 2008-5-15 07:16
出错信息呢?

你先看看actor的值是什么,可能是nil
作者: 禾西    时间: 2008-5-15 07:35
你確認你的隊伍裏面有4個人?
作者: 9244579    时间: 2008-5-15 19:34
以下引用禾西于2008-5-14 23:35:39的发言:

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

对了,我想问的就是这个了
如何判断此ID是否在队伍中,如果不在则漏过处理?
作者: 沉影不器    时间: 2008-5-15 19:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: link006007    时间: 2008-5-15 19:39
数组有个方法  叫做include?(val)若数组中包含 ==val 的单元就返回真。
可以用这个
作者: 9244579    时间: 2008-5-15 20:35
以下引用沉影不器于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


作者: 沉影不器    时间: 2008-5-15 22:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: pan2003abc    时间: 2008-5-15 22:41
什么是哈稀表啊?
作者: 9244579    时间: 2008-5-16 04:47
以下引用沉影不器于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个角色属性]
[角色一号我是单独描绘]

作者: 小lim    时间: 2008-5-16 04:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-5-16 04:57
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1