转到 Spritebuilder 时间轴的关键帧
Go to keyframe of Spritebuilder timeline
我有一个时间轴,我基本上希望用户能够点击屏幕以将动画快进(好吧,更像是跳过动画的一部分)到后面的部分。显然,这必须使用代码来完成。
我对此进行了大量研究,但我认为没有简单的解决方案。 CCBSequence
和 CCBSequenceProperty
提供了一点希望,但我的想法已经 运行 枯燥,看不到实现它的方法。
显然我知道动画管理器并将其用于 运行 时间线和停止时间线,甚至在时间线完成时调用某些东西,但我在 Spritebuilder 中处理时间线的能力并不延伸得太远了。
我能想到一个混乱的解决方法,基本上我只是复制我想跳到的时间线部分,当屏幕被点击时停止当前时间线并转到那个,但它看起来既麻烦又混乱而且如果可能的话,我想避免这种情况。
感谢帮助!
如果您的动画不是非常复杂,请尝试通过 cocos2d 动作来实现它 http://www.cocos2d-swift.org/docs/api/index.html
使用引擎 API 您可以在每次点击时创建自定义速度的动画。
我仔细查看后找到了简单的解决方案
因此,如果您在 CCAnimationManager 中查看,有一个方法用于此,称为:
- (void)jumpToSequenceNamed:(NSString*)name time:(float)time;
因此您可以使用您的节点调用
[node.animationManager jumpToSequenceNamed:@"MyTimeline" time:1.0]; // 1 Second
我有一个时间轴,我基本上希望用户能够点击屏幕以将动画快进(好吧,更像是跳过动画的一部分)到后面的部分。显然,这必须使用代码来完成。
我对此进行了大量研究,但我认为没有简单的解决方案。 CCBSequence
和 CCBSequenceProperty
提供了一点希望,但我的想法已经 运行 枯燥,看不到实现它的方法。
显然我知道动画管理器并将其用于 运行 时间线和停止时间线,甚至在时间线完成时调用某些东西,但我在 Spritebuilder 中处理时间线的能力并不延伸得太远了。
我能想到一个混乱的解决方法,基本上我只是复制我想跳到的时间线部分,当屏幕被点击时停止当前时间线并转到那个,但它看起来既麻烦又混乱而且如果可能的话,我想避免这种情况。
感谢帮助!
如果您的动画不是非常复杂,请尝试通过 cocos2d 动作来实现它 http://www.cocos2d-swift.org/docs/api/index.html 使用引擎 API 您可以在每次点击时创建自定义速度的动画。
我仔细查看后找到了简单的解决方案
因此,如果您在 CCAnimationManager 中查看,有一个方法用于此,称为:
- (void)jumpToSequenceNamed:(NSString*)name time:(float)time;
因此您可以使用您的节点调用
[node.animationManager jumpToSequenceNamed:@"MyTimeline" time:1.0]; // 1 Second