本帖最后由 冰蓝的马甲 于 2014-4-24 17:50 编辑
一回来就碰见这么高难度的问题~
延续上一次动作应该是一个简单的小脚本,在Game_Actor里记录一下上次的action然后在菜单里新加入一个选项,选这个选项的话代入上次action,next_actor。
自动战斗同理,写法和update_actor_command_selection里防御是一样的格式,只不过内容是@active_battler.make_action然后next_actor
队形排列的话,Game_Actor里增加一个@battle_position初始值是self.class.position然后在菜单里加选项(类似于技能和物品窗),对应Scene_Battle里的比如update_position_change,然后就是写窗口调试了。
比如你想按Shift自动战斗,在Scene_Battle里就可以把def update_actor_command_selection这么改
#-------------------------------------------------------------------------- # ● 更新角色命令选择 #-------------------------------------------------------------------------- def update_actor_command_selection if Input.trigger?(Input::B) Sound.play_cancel prior_actor elsif Input.trigger?(Input::C) case @actor_command_window.index when 0 # 攻击 Sound.play_decision @active_battler.action.set_attack start_target_enemy_selection when 1 # 技能 Sound.play_decision start_skill_selection when 2 # 防御 Sound.play_decision @active_battler.action.set_guard next_actor when 3 # 物品 Sound.play_decision start_item_selection end elsif Input.trigger?(Input::A) Sound.play_decision @active_battler.make_action next_actor end end
#--------------------------------------------------------------------------
# ● 更新角色命令选择
#--------------------------------------------------------------------------
def update_actor_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
prior_actor
elsif Input.trigger?(Input::C)
case @actor_command_window.index
when 0 # 攻击
Sound.play_decision
@active_battler.action.set_attack
start_target_enemy_selection
when 1 # 技能
Sound.play_decision
start_skill_selection
when 2 # 防御
Sound.play_decision
@active_battler.action.set_guard
next_actor
when 3 # 物品
Sound.play_decision
start_item_selection
end
elsif Input.trigger?(Input::A)
Sound.play_decision
@active_battler.make_action
next_actor
end
end
|