| 
 
| 赞 | 22 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 47 |  
| 经验 | 9447 |  
| 最后登录 | 2024-7-5 |  
| 在线时间 | 387 小时 |  
 Lv3.寻梦者 
	梦石0 星屑4721 在线时间387 小时注册时间2012-11-8帖子276 | 
| 本帖最后由 qq634488405 于 2022-5-20 13:35 编辑 
 
 Sprite_Battler里添加实例变量
 attr_accessor :offset_x
 attr_accessor :offset_y
 初始化里
 @offset_x,@offset_y = 0
 update里
 self.x = @battler.screen_x + @offset_x
 self.y = @battler.screen_y + @offset_y
 在Spriteset_Battle的initialize方法
 复制代码    # 前面略
    # 生成计时器块
    @timer_sprite = Sprite_Timer.new
    @before_battle = true
    # 刷新画面
    update
    @before_battle = false
初始化的时候指定@before_battle作为正式战斗开始前的标志
 在Spriteset_Battle的update方法里根据@before_battle标志动作战斗图
 在初始化的时候会调用一次update,此时会移动战斗图,初始化完成后@before_battle = false
 
 复制代码    # 前面略
    # 刷新战斗者的活动块
    for sprite in @enemy_sprites + @actor_sprites
      if @before_battle
        for i in 1..40
          # 向左向上为减
          sprite.offset_x -= 1
          sprite.offset_y -= 1
          sprite.update
          Graphics.update
        end
      else
        sprite.update
      end
    end
# 后面略
 | 
 |