Project1

标题: actor.equips出错…… [打印本页]

作者: ilmynasan    时间: 2012-3-27 15:02
标题: actor.equips出错……
本帖最后由 ilmynasan 于 2012-3-27 10:57 编辑

制作一个单人菜单,想把主角的装备显示在菜单界面(Window_MenuStatus里)

代码是VA的默认代码,在 Window_Status 里面显示装备用的
PHP 代码复制
  1. def draw_equipments(x, y)
  2.     @actor.equips.each_with_index do |item, i|
  3.       draw_item_name(item, x, y + line_height * i)
  4.     end
  5.   end



看到VX上有人直接把这个带入到MenuStatus里面,就显示出来了



可是我想把装备显示到菜单界面,运行游戏打开界面时就会显示错误


equips在Game_Actor里面就有被定义过……为什么还会出错Orz
而且其他有使用 equips 这个method的时候,系统都不会显示错误,就是放在MenuStatus里面才会有这个错误
我试着让角色的说明显示在菜单里,同样错误,也是别的情况下都好好的

然后我最后吧以上代码拿到一个新项目中,就在Window_MenuStatus里加了这一行,同样出错……

最后卡死在现在

附上我现在的游戏文件
若直接运行的话会出 undefined method 错误的
http://115.com/file/dpp8j8le#

--------------------------------------------------------------------------

召唤建议我多提示的版主@fux2



作者: 消失的三千    时间: 2012-3-27 16:40
本帖最后由 消失的三千 于 2012-3-27 16:43 编辑

你忘了定义@actor这变量了,所以他才会提示找不到@actor里的equips~
只要把Window_MenuStatus里的49~59行的脚本换成如下就解决了
也只不过是把actor换成了@actor而已
  1.   def draw_item(index)
  2.     @actor = $game_party.members[index]
  3.     enabled = $game_party.battle_members.include?(@actor)
  4.     rect = item_rect(index)
  5.     draw_item_background(index)
  6.     draw_actor_face(@actor.class.name, rect.x, rect.y + 25, enabled)
  7.     draw_actor_graphic(@actor, 490, 332)
  8.     draw_actor_simple_status(@actor, rect.x + 285, rect.y + 248)
  9.     draw_equipments(0, 0)
  10. #~     draw_menu_command(0, 0)
  11.   end
复制代码
看了看工程,LZ有很努力的在修改脚本呢,加油哦!
作者: ilmynasan    时间: 2012-3-27 23:56
消失的三千 发表于 2012-3-27 03:40
你忘了定义@actor这变量了,所以他才会提示找不到@actor里的equips~
只要把Window_MenuStatus里的49~59行的 ...

哦哦哦 出来了!
谢谢帮忙!




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