objective-c – SpriteKit自定义SKAction =弹跳?

寻求有关如何创建执行弹跳的自定义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,使弹跳看起来逼真.

相关文章

一.C语言中的static关键字 在C语言中,static可以用来修饰局...
浅谈C/C++中的指针和数组(二) 前面已经讨论了指针...
浅谈C/C++中的指针和数组(一)指针是C/C++...
从两个例子分析C语言的声明 在读《C专家编程》一书的第三章时...
C语言文件操作解析(一)在讨论C语言文件操作之前,先了解一下...
C语言文件操作解析(三) 在前面已经讨论了文件打开操作,下面...