百里_飞柳 发表于 2018-12-29 13:32 照着写了然后测试了一下,动画确实可以按帧数复制过去√ 可惜的是我做的是闪烁对象,那个好像不是复制动画就可以的…… 到底是哪个参数呢……要是找到了就能一起复制过去了 |
本帖最后由 百里_飞柳 于 2018-12-29 16:00 编辑 在 Sprite_Base 类里的 @ani_duration 是用于计时的 你在Sprite_Battler类里改一下,把它和id一起赋值过去? 参考流程: - 在Sprite_Character类里定义方法B,传入另一个Sprite_Character类型参数用于处理动画复制,推荐按照start_animation方法写,再覆盖@ani_duration的值再加1(保证不会因额外调用update导致帧数差异),再调用一次update_animation,确保立即有显示 - 在Spriteset_Map类里定义方法C,传入Game_Character类参数c,返回@character_sprites人物精灵数组中绑定了c对象的精灵 - 在Game_Interpreter类里新建方法A,用于处理动画的复制(从一个Game_Character类的对象复制到另一个),方法传入一个源character对象a1,一个目标对象a2(可能是队列角色,可能是事件),(记得给Scene_Map加上访问spriteset变量的attr_reader)通过调用 SceneManager.scene.spriteset 的方法C获取a1和a2的精灵,再调用a2精灵的方法B(a1) |
本帖最后由 RMVXA 于 2018-12-29 09:43 编辑 我的话只能绕开这种麻烦的问题吧,比如用这种效果:做一个奇数帧的动画X,第一帧目标闪烁@1,第二帧不闪烁,第三帧目标闪烁@1…… 然后在事件A显示动画X(等待结束)后,事件B再显示X,就能做到类似的效果…… |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2025-7-19 17:32
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.