寻求有关如何创建执行弹跳的自定义SKAction(精灵套件)的帮助?
基本上,想要从顶部屏幕到底部(Y轴)放下一个精灵,并让它执行快速衰减反弹(仅在Y轴上下).
注意:不想使用物理引擎.
我在网上查看了一些补间示例(在C中),但数学使我的眼球釉面和启动,不清楚我是如何整合这些功能的.我还尝试使用moveTo和moveBy进行SKAction测序,但效果不是那么顺利.
解决方法
您可以组合多个SKActions来实现效果.
CGFloat bounceFactor = 0.2f; SKAction* dropAction = [SKAction moveByX:0 y:-dropHeight duration:0.3f]; SKAction* bounce = [SKAction sequence:@[[SKAction moveByX:0 y:dropHeight*bounceFactor duration:0.1f],[SKAction moveByX:0 y:-dropHeigh*bounceFactor duration:0.1f],[SKAction moveByX:0 y:dropHeight*bounceFactor/2 duration:0.1f],[SKAction moveByX:0 y:-dropHeight*bounceFactor/2 duration:0.1f]]]; [node runAction:[SKAction group:@[dropAction,bounce]]];
此外,你可以玩约SKActionTimingMode,使弹跳看起来逼真.