问: 请问怎样才能在人物跟随队伍中,让对话框指向对应的角色, 比如角色1 脚本中是chat(-1,“”)那么第二人,还有后的几个人物怎样设置呢? 回答: 问题分析思路:
1、判断有没有可能说话。 fuki的说话要求必须是Game_Character。搜跟随脚本,还好,跟在后面的是class Game_Party_Actor < Game_Character 初始化是在module Game_Party_Module
2、找到初始化的位置 看到其中的这个: @characters = [] for i in 1 ... TRAIN_ACTOR_SIZE_MAX @characters.push(Game_Party_Actor.new) end
所以只要再定义一个函数返回@characters[编号]即可。
3、这个moudlue的应用位置 往下找最后看到这个: class Game_Party include Train_Actor::Game_Party_Module end
所以结论:
module Game_Party_Module下插入:
def return_char(i) return @characters[i] end | 修改fuki的如下脚本: #-------------------------------------------------------------------------- # ○ 取得角色 # parameter : 参数 #-------------------------------------------------------------------------- def get_character(parameter) # 参数分歧 case parameter when -1 # 玩家 return $game_player when 0 # 该事件 events = $game_map.events return events == nil ? nil : events[$active_event_id] else # 特定事件 events = $game_map.events return events == nil ? nil : events[parameter] end end
为如下:
#------------------------------------------------------------------- # ○ 取得角色 # parameter : 参数 #------------------------------------------------------------------- def get_character(parameter) # 参数分歧 case parameter when -1 # 玩家 return $game_player when 0 # 该事件 events = $game_map.events return events == nil ? nil : events[$active_event_id] else # 特定事件 if parameter >0 events = $game_map.events return events == nil ? nil : events[parameter] else $game_party.return_char(-parameter-2) end end end | 这样可用负数让队伍角色说话。比如-2就是2号,-3就是3号。 如果还是看不明白请参考范例工程。这个新添功能对原功能没有任何影响,可直接覆盖之。 |