具有阻尼效果的快速动画精灵

Posted

技术标签:

【中文标题】具有阻尼效果的快速动画精灵【英文标题】:swift animate spritekit with damping effect 【发布时间】:2017-09-07 19:59:41 【问题描述】:

我已经在互联网上搜索了几天,但没有找到我要找的东西。 我正在开发一款 ios 游戏,我想使用 usingSpringWithDamping 移动一些精灵(移动精灵时有一些橡胶效果)。

我找到了许多 UIViews 的解决方案,但没有找到 SKSpriteNode 的解决方案。

我想通过阻尼效果将 SKSpriteNode 从位置 1 移动到位置 2。

你能给我一些想法吗? 谢谢。

C.C.

【问题讨论】:

【参考方案1】:

来自 Ray Wenderlich (https://github.com/raywenderlich/SKTUtils) 的 Sprite Kit Utils 可能正是您想要的。具体来说,使用 SKTEffects 和 SKTTimingFunctions 将允许您向 SKActions 添加缓动。

例如 SKTTimingFunctionElasticEaseInSKTTimingFunctionElasticEaseOutSKTTimingFunctionElasticEaseInOut 具有您正在寻找的橡胶效果,但您可能需要根据需要对其进行调整。 Ray 的 utils 也有其他可用的缓动函数;关于不同的缓动函数有很好的参考:http://easings.net

希望这会有所帮助!

【讨论】:

实际上,我是 Ray Wenderlich 和可用视频的忠实粉丝。我不知道这个图书馆。我会试试。谢谢。【参考方案2】:

UIView 动画支持弹簧动画,但 SpriteKit 中没有这些。

GitHub 上有一个第三方库,它扩展了 SKAction 与弹簧动画:https://github.com/ataugeron/SpriteKit-Spring

【讨论】:

一点也不差。我想知道,在下周的主题演讲之后,我们是否会有一些新的东西可用。 新的 iOS 11 API 于 6 月在 WWDC 2017 上宣布。没有讨论 SpriteKit 的新时序曲线。 你知道我能不能做到以下几点:我的精灵将从 A 点移动到 B 点。它会在停止之前反弹一点(使用第三方)它会与另一个精灵发生碰撞.有没有办法让这个其他精灵弹起一点(橡胶效果)而不保持他的位置? 您可以创建另一个动作,并在发生碰撞时在另一个对象上运行它。如果您仍然有困难,我会发布一个单独的 Stack Overflow 问题。 好的,我知道了。谢谢。

以上是关于具有阻尼效果的快速动画精灵的主要内容,如果未能解决你的问题,请参考以下文章

动画精灵与碰撞检测

快速创建具有相同纹理的多个精灵(节点)

Pygame 使用精灵表:alpha 问题

PyGame快速入门

Simple2D-25 精灵动作

在 Unity 中来自 spritesheet 的动画异相