回复 Wind2010 的帖子 谢谢撒。。。你这么一提醒我才看见我改角色行走恢复的时候忘了还原战斗图。。。 |
嗯...战斗队伍里有不存在的敌人 应该是这样 |
回复 Wind2010 的帖子
|
LZ你把整个工程发上来别人才好判断 |
回复 Wind2010 的帖子 #============================================================================== # ■ Sprite_Battler #------------------------------------------------------------------------------ # 战斗显示用活动块。Game_Battler 类的实例监视、 # 活动块的状态的监视。 #============================================================================== class Sprite_Battler < RPG::Sprite #-------------------------------------------------------------------------- # ● 定义实例变量 #-------------------------------------------------------------------------- attr_accessor :battler # 战斗者 #-------------------------------------------------------------------------- # ● 初始化对像 # viewport : 显示端口 # battler : 战斗者 (Game_Battler) #-------------------------------------------------------------------------- def initialize(viewport, battler = nil) super(viewport) @battler = battler @battler_visible = false end #-------------------------------------------------------------------------- # ● 释放 #-------------------------------------------------------------------------- def dispose if self.bitmap != nil self.bitmap.dispose end super end #-------------------------------------------------------------------------- # ● 刷新画面 #-------------------------------------------------------------------------- def update super # 战斗者为 nil 的情况下 if @battler == nil self.bitmap = nil loop_animation(nil) return end # 文件名和色相与当前情况有差异的情况下 if @battler.battler_name != @battler_name or @battler.battler_hue != @battler_hue # 获取、设置位图 @battler_name = @battler.battler_name @battler_hue = @battler.battler_hue self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue) @width = bitmap.width @height = bitmap.height self.ox = @width / 2 self.oy = @height # 如果是战斗不能或者是隐藏状态就把透明度设置成 0 if @battler.is_a?(Game_Enemy) if @battler.dead? or @battler.hidden self.opacity = 0 end end end # 动画 ID 与当前的情况有差异的情况下 if @battler.damage == nil and @battler.state_animation_id != @state_animation_id @state_animation_id = @battler.state_animation_id loop_animation($data_animations[@state_animation_id]) end # 应该被显示的角色的情况下 if @battler.is_a?(Game_Actor) and @battler_visible # 不是主状态的时候稍稍降低点透明度 if $game_temp.battle_main_phase self.opacity += 3 if self.opacity < 255 else self.opacity -= 3 if self.opacity > 207 end end # 明灭 if @battler.blink blink_on else blink_off end # 不可见的情况下 unless @battler_visible # 出现 if not @battler.hidden and not @battler.dead? and (@battler.damage == nil or @battler.damage_pop) if @battler.is_a?(Game_Enemy) appear else @battler.battler_name = @battler.battler_name.split(/★/)[0] end @battler_visible = true end end # 可见的情况下 if @battler_visible # 逃跑 if @battler.hidden $game_system.se_play($data_system.escape_se) escape @battler_visible = false end # 白色闪烁 if @battler.white_flash whiten @battler.white_flash = false end # 动画 if @battler.animation_id != 0 animation = $data_animations[@battler.animation_id] animation(animation, @battler.animation_hit) @battler.animation_id = 0 end # 伤害 if @battler.damage_pop damage(@battler.damage, @battler.critical) @battler.damage = nil @battler.critical = false @battler.damage_pop = false end # korapusu if @battler.damage == nil and @battler.dead? if @battler.is_a?(Game_Enemy) $game_system.se_play($data_system.enemy_collapse_se) collapse else $game_system.se_play($data_system.actor_collapse_se) @battler.battler_name = @battler.battler_name.split(/★/)[0] @battler.battler_name = @battler.battler_name + "★2" end @battler_visible = false end end # 设置活动块的坐标 self.x = @battler.screen_x self.y = @battler.screen_y self.z = @battler.screen_z end end |
请把出错脚本丢上来 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-29 10:08
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.