class Scene_Battle
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_reader :animation1_id # 行动方动画ID
end
class Sprite_Battler < RPG::Sprite
#--------------------------------------------------------------------------
# ● 处理角色动作
#--------------------------------------------------------------------------
def update_actor_animation
if @battler.is_a?(Game_Actor)
if @battler.show_damage_value != nil
self.damage(@battler.show_damage_value, false)
@battler.show_damage(nil)
@battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
@battler.setup_battler_hurt_ani(1)
end
if @battler.current_action.kind == 0 and @battler.current_action.basic == 1
######################################################################
@battler.setup_battler_ani(@battler.battler_name.split(/★/)[2], 1)
@battler.setup_battler_hurt_ani(1)
####################################################################
else
if @hits == 1 and not @battler.dead? and @battler.battler_hurt_ani != 1 and @battler.damage.is_a?(Numeric) and @battler.damage > 0 and $fangyu != 1
@battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
@battler.setup_battler_hurt_ani(1)
########################################################################
elsif @hits == 1 and not @battler.dead? and @battler.battler_hurt_ani != 1 and @battler.damage.is_a?(Numeric) and @battler.damage > 0 and $fangyu == 1
@battler.setup_battler_ani(@battler.battler_name.split(/★/)[2], 1)
@battler.setup_battler_hurt_ani(1)
#################################################################
elsif @frame_index == @last_frame and @battler.dead? and @battler.battler_dead_ani != 1
for actor in $game_party.actors
if @battler != actor
#actor.add_state(55)
end
end
@battler.setup_battler_ani(@battler.battler_name.split(/★/)[4], 1)
@battler.setup_battler_dead_ani(1)
end
end
end
end
#--------------------------------------------------------------------------
# ● 处理敌人动作
#--------------------------------------------------------------------------
def update_enemy_animation
if @battler.is_a?(Game_Enemy)
if @battler.show_damage_value != nil
self.damage(@battler.show_damage_value, false)
@battler.show_damage(nil)
@battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
@battler.setup_battler_hurt_ani(1)
end
if @battler.current_action.kind == 0 and @battler.current_action.basic == 1
else
if @hits == 1 and not @battler.dead? and @battler.battler_hurt_ani != 1 and @battler.damage.is_a?(Numeric) and @battler.damage > 0
@battler.setup_battler_ani(@battler.battler_name.split(/★/)[3], 1)
@battler.setup_battler_hurt_ani(1)
elsif @frame_index == @last_frame and @battler.dead? and @battler.battler_dead_ani != 1
@battler.setup_battler_ani(@battler.battler_name.split(/★/)[4], 1)
@battler.setup_battler_dead_ani(1)
collapse
end
end
end
end
end[/pre] 作者: 弗雷德 时间: 2013-8-28 23:24
俺用你这段脚本测试没问题哟,是不是你取消了RTP?或者是还有其它类修改过def update_animation作者: 美丽晨露 时间: 2013-8-28 23:30
之所以没效果的原因是因为全动作战斗脚本是采用循环动画,修改update_animation类是不行的,
要在def update_loop_animation类进行悠,
position = @_loop_animation.position这句下面加上@_animation.id 改成@_loop_animation.id
#################################################################bearrpg
se_name = RANDSE[rand(RANDSE.size)]#随机抽取数组中的一个音效
se_name1 = RANDSE1[rand(RANDSE1.size)]
case @_loop_animation.id#判断动画ID
when 107#播放118动画的时候执行随机音效
if frame_index ==0#这里表示第一帧
Audio.se_play("Audio/SE/"+se_name, 100, 100)
end
when 115#如果有多个可以自行添加
if frame_index ==0#这里表示第一帧
Audio.se_play("Audio/SE/"+se_name1, 100, 100)
#判断帧数什么的……
#播放音效什么的……
end
end
###################################################################