Project1

标题: 这段脚本整合进彩虹神剑,战斗时动画变快了 [打印本页]

作者: 幻耶    时间: 2011-11-15 14:57
标题: 这段脚本整合进彩虹神剑,战斗时动画变快了
红色部分的脚本是我整合进彩虹神剑的部分,用来使战斗图移动,但是多了这段脚本后我发现战斗时特技和伤害的动画显示都变得特别快,如何在保留这段脚本的情况下使动画速度恢复正常?

#--------------------------------------------------------------------------
# ● 刷新画面
#    增添跳跃功能
#--------------------------------------------------------------------------
alias hzhj_old_update update  #XXOO
def update
###############################################################################
    hzhj_old_update
    self.x = @hzhj_x
    self.y = @hzhj_y
    if not @battler.nil? and not @battler.dead?
      if self.x < @battler.screen_x + @battler.add_x
        self.x = [self.x + MoveSpeed, @battler.screen_x + @battler.add_x].min
      elsif self.x > @battler.screen_x + @battler.add_x
        self.x = [self.x - MoveSpeed, @battler.screen_x + @battler.add_x].max
      end
      if self.y < @battler.screen_y + @battler.add_y
        self.y = [self.y + MoveSpeed, @battler.screen_y + @battler.add_y].min
      elsif self.y > @battler.screen_y + @battler.add_y
        self.y = [self.y - MoveSpeed, @battler.screen_y + @battler.add_y].max
      end
    end
    @hzhj_x = self.x
    @hzhj_y = self.y

###############################################################################  
  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.dead? or @battler.hidden
      self.opacity = 0
    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)
      appear
      @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
    enddsu_plus_rewardpost_czw
作者: zhangbanxian    时间: 2011-11-15 17:18
- -b你这不是有MoveSpeed这个常量么,不能调么?
作者: 幻耶    时间: 2011-11-15 20:53
本帖最后由 幻耶 于 2011-11-15 20:55 编辑
zhangbanxian 发表于 2011-11-15 17:18
- -b你这不是有MoveSpeed这个常量么,不能调么?


红色部分是后知后觉写的:一个战斗图MISS攻击就移动的回避脚本,我整合进了彩虹神剑脚本。MoveSpeed是战斗图回避时的移动速度,不是特技动画的播放速度
作者: 后知后觉    时间: 2011-11-15 23:54
从 super 那一行及下面的内容好像都和默认脚本一样嘛.
hzhj_old_update
里面就已经包含了这些东西.
一帧调用了2次 super
动画速度变快是肯定的.而且从视觉上讲是跳帧效果.
每当 Graphics.frame_count % 2 == 0 动画就会一帧刷新2次.
作者: 幻耶    时间: 2011-11-16 12:40
后知后觉 发表于 2011-11-15 23:54
从 super 那一行及下面的内容好像都和默认脚本一样嘛.
hzhj_old_update
里面就已经包含了这些东西.

把 hzhj_old_update 去掉就可以了?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1