qq634488405 发表于 2022-5-21 09:30 感谢 完美解决 |
黑米馒头 发表于 2022-5-21 08:46 我上面的表述有些错误,Scene_Battle里不需要initialize,把initialize方法删了就好 |
qq634488405 发表于 2022-5-21 00:32 已经看到效果了,不过有个BUG,在地图上面遇到明雷的话,开始战斗,会先显示一段人物战斗图移动的效果,然后进入战斗,然后又会在显示一段移动效果,接着出现战斗指令,如何把地图上的那一段效果去掉,直接就是战斗显示战斗图的移动效果~ |
本帖最后由 qq634488405 于 2022-5-21 09:31 编辑 黑米馒头 发表于 2022-5-20 23:17 Scene_Battle 1里main中# 生成活动块这一段
放到start_phase1前面
这个是每个战斗图依次动,如果要所有战斗图一起动,Spriteset_Battle的update就这么写
|
参与人数 2 | 星屑 +100 | 赞 +2 | 收起 理由 |
---|---|---|---|
guoxiaomi | + 100 | + 1 | 认可答案 |
alexncf125 | + 1 | 良心工具人 |
qq634488405 发表于 2022-5-20 13:27 大佬,按你的方法,进入战斗的时候战斗图是移动了几下,可是好像看不到移动的效果,而是直接显示移动结束的位置,如何做到能看到移动效果,就是进入战斗的时候,角色和敌人都移动几步,然后在开始战斗 |
本帖最后由 qq634488405 于 2022-5-20 13:35 编辑 黑米馒头 发表于 2022-5-20 12:56 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方法
初始化的时候指定@before_battle作为正式战斗开始前的标志 在Spriteset_Battle的update方法里根据@before_battle标志动作战斗图 在初始化的时候会调用一次update,此时会移动战斗图,初始化完成后@before_battle = false
|
qq634488405 发表于 2022-5-20 10:48 不太懂脚本,大概应该怎么弄 |
根据你的描述,你不应该直接去改update,而是应该在战斗前,生成Sprite_Battler的实例对象后去修改实例对象的x,y,再update |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-5-21 21:52
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.