本帖最后由 芯☆淡茹水 于 2013-5-11 01:42 编辑
选择敌人?是指怎样确定行动对象么?
那看看下面这段
if @active_battler .is_a ?( Game_Actor)
if @active_battler .restriction == 3
target = $game_party .random_target_actor
elsif @active_battler .restriction == 2
target = $game_troop .random_target_enemy
else
index = @active_battler .current_action .target_index
target = $game_troop .smooth_target_enemy ( index)
end
end
if @active_battler .is_a ?( Game_Actor)
if @active_battler .restriction == 3
target = $game_party .random_target_actor
elsif @active_battler .restriction == 2
target = $game_troop .random_target_enemy
else
index = @active_battler .current_action .target_index
target = $game_troop .smooth_target_enemy ( index)
end
end
这段是普通攻击确定对象(角色用),添加下注释,就会很好理解
如果行动方是角色
if @active_battler.is_a?(Game_Actor)
如果行动者限制 等于 3 (普通攻击同伴)
if @active_battler.restriction == 3
行动对象 等于 随机角色
target = $game_party.random_target_actor
除此以外,如果行动者限制 等于 2 (普通攻击敌人)
elsif @active_battler.restriction == 2
行动对象 等于 随机敌人
target = $game_troop.random_target_enemy
除此以外
else
行动对象 等于 光标所选中的敌人
index = @active_battler.current_action.target_index
target = $game_troop.smooth_target_enemy(index)
end
end
最终选择好的敌人就是那个 target
然后就是:
# 设置对像方的战斗者序列
@target_battlers = [target]
# 应用通常攻击效果
for target in @target_battlers
target.attack_effect(@active_battler)
end
这些确定行动对象,都在 Scene_Battle 4 第 170 多行开始(包括基本攻击,特技和物品)