在脚本中,所有的角色都在$game_actors这个里面。我是指$game_actors里(即$data_actors)没这个角色。 $game_actors他可以看作是数据库的角色($data_actors),但其他脚本也可以对$data_actors进行改变。 这么说吧,如果没有其他影响角色的脚本,那么就是数据库没有这个编号的角色。 如果不是这个问题引起的,那我就分析不出来了。 |
本帖最后由 wyy272176594 于 2016-1-4 16:48 编辑 可以这么分析: 根据报错的提示,转到Game_Party的67行(未增减过): all_members[0, max_battle_members].select {|actor| actor.exist? } 错误是这一句某次遍历all_members时actor为空,然而select方法不可能越界,而且max_battle_members为4(73行)。 那么就看all_members这个数组是哪里来的,就在上面61行: @actors.collect {|id| $game_actors[id] } 就是根据成员变量@actors中的ID,去取$game_actors里面对应的角色。 问题也很可能出现在这里,如果@actors中的ID在$game_actors中没有对应的值,就会加入空值。 那么@actors中的ID是哪里添加的?通过查找是在add_actor方法中。 然后查看脚本中使用add_actor方法的地方,发现添加的ID是调用时候传入参数。 所以请楼主确保调用tan_add_actor方法时传入的actor_id的角色是调用之前已经存在的。 如果是用其他脚本生成的角色,请在读取后调用tan_add_actor之前确保actor_id的角色是存在的。 |
再存档再打开试试看看还有没有问题 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-17 06:31
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.