| 赞 | 22 |
| VIP | |
| 好人卡 | |
| 积分 | 48 |
| 经验 | |
| 最后登录 | 2026-9-27 |
| 在线时间 | 389 小时 |
- 梦石
- 0
- 星屑
- 4756
- 在线时间
- 389 小时
- 注册时间
- 2012-11-8
- 回帖
- 235
|
发表于 2022-5-20 13:27:52
|
显示全部楼层
本帖最后由 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
- # 后面略
复制代码 |
|