【问题标题】:Logo animation using SpriteKit使用 SpriteKit 制作徽标动画
【发布时间】:2016-04-14 08:18:11
【问题描述】:

我正在尝试为一个看起来像心跳的徽标制作动画(下图不是我的,只是为了让你明白):

我想要的是这个心跳从左向右绘制的动画(大约 1 秒)。

到目前为止我做了什么: - 我在 Sketch 3 下设计了 logo - 我创建了大约 30 个名为 image[i] 的不同图像,代表不同的步骤

我的代码:(在 init 方法中预加载纹理)

let logo = SKSpriteNode(imageNamed: "image1")
let logoAnimation: SKAction
var textures:[SKTexture] = []
for i in 1...25 {
    textures.append(SKTexture(imageNamed: "image\(i)"))
}
logoAnimation = SKAction.animateWithTextures(textures,
                                                   timePerFrame: 0.1)

在 didMoveToView 内部:

logo.runAction(logoAnimation)

但动画看起来有点糟糕,滞后......

这是因为我添加了太多帧吗?还是不够?有没有更好的方法来制作这种动画?

感谢您的帮助

【问题讨论】:

  • 如果它只是水平移动,我相信你可以尝试为CGPath 设置动画。使用大量图片并不是理想的解决方案。
  • @zcui93 : 是的,它只是水平移动,但是 CGPath 动画一条复杂的曲线(我的标志有弯曲的边缘,不像这个尖,忘了提)?
  • 看看UIBezierPath :)
  • 你是在使用 SpriteKit 来制作这个动画吗?如果它只是一个 UIKit 应用程序,还有一种方法可以在 UIImageView 中基于帧显示动画。
  • 另外,如果您正在创建基于 SpriteKit 的应用程序,您应该在运行动画之前预加载纹理。

标签: ios swift animation sprite-kit


【解决方案1】:

您是否尝试过仅更改动画的每秒帧速率?如果您有很多帧,将其设为 0.1 fps 可能会太慢,是否可以尝试将其降低到 0.05?

【讨论】:

  • 是的,我尝试了 0.05,我将尝试保持在 60 fps 左右,这应该足够了,但仍然看起来很滞后:/
猜你喜欢
  • 2019-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多