首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpriteKit SKAction easing

SpriteKit SKAction easing
EN

Stack Overflow用户
提问于 2013-09-30 21:22:17
回答 2查看 13.8K关注 0票数 16

这个标题揭示了一个问题,我如何在SpriteKit中将缓动应用于SKAction节点操作?

我发现这是可行的:

代码语言:javascript
复制
SKAction *moveAction = [SKAction moveByX:moveX y:moveY duration:0.5];
moveAction.timingMode = SKActionTimingEaseInEaseOut;
[node runAction:moveAction];

然而,可用的缓动类型只有几种,即线性、EaseIn、EaseOut、EaseInOut。

这些宽松的值是固定的,不能改变。我在找像EleasticInOut这样的东西。最好有更多的控制力。我如何创建它?

EN

回答 2

Stack Overflow用户

发布于 2014-02-14 03:47:28

我一直在使用SKEase框架:https://github.com/buddingmonkey/SpriteKit-Easing它和标准的SpriteKit操作一样简单,并添加了所有常见的更复杂的缓动、立方、反弹、弹性、后退等。SpriteKitUtils还添加了更复杂的缓动类型和一些方便的SpriteKit实用工具:https://github.com/raywenderlich/SKTUtils

另一种选择是使用自定义操作方法滚动您自己的操作方法,并向其传递带有自定义缓动/动画函数的代码块:

代码语言:javascript
复制
-(SKAction *)customActionWithDuration:(NSTimeInterval)seconds actionBlock:(void (^)(SKNode *node, CGFloat elapsedTime))block
票数 15
EN

Stack Overflow用户

发布于 2014-10-19 07:28:37

几年前,苹果在UIKit中引入了弹簧动画,允许你在执行UIView动画时设置弹簧阻尼和初始速度。不幸的是,他们没有在SpriteKit中实现这一点,所以我制作了自己的库来实现这一点。

它是SKAction上的一组扩展,复制了大多数工厂方法,添加了阻尼和速度参数。

代码在GitHub上,请随意使用:https://github.com/ataugeron/SpriteKit-Spring

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19095390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档