2016-04-14 2 views
0

Я пытаюсь анимировать логотип, который выглядит как сердцебиение (следующее изображение не мое, только так вы получите идею):Логотип анимации с использованием SpriteKit

enter image description here

То, что я хотел бы это анимация (около 1 секунды), где это сердцебиение рисует слева направо.

Что я сделал до сих пор: - Я разработал логотип под эскизом 3 - Я создал около 30 различных изображений с именем изображения [I], которые представляют различные шаги

Моего код: (в методе инициализации для предварительной загрузки текстур)

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) 

Но анимация выглядит вид б ad, laggy ...

Это потому, что я добавил слишком много кадров? Или недостаточно? Есть ли лучший способ создать такую ​​анимацию?

Спасибо за вашу помощь

+0

Если это просто перемещение по горизонтали, я считаю, что вы можете попробовать анимировать 'CGPath'. Использование серьезных изображений не является идеальным решением. – zcui93

+0

@ zcui93: Да, это просто движение по горизонтали, но CGPath для анимации сложной кривой (мой логотип имеет искривленные края, а не заостренный, как этот, забыл упомянуть об этом)? – H4Hugo

+0

Посмотрите на 'UIBezierPath' :) – zcui93

ответ

0

Вы пробовали просто изменить частоту кадров в секунду для анимации? Если у вас много фреймов, если оно составляет 0,1 кадра в секунду, возможно, слишком медленно, попробуйте уменьшить его до 0,05?

+0

Да Я пробовал 0.05, я постараюсь быть около 60 кадров в секунду, этого должно быть достаточно, но все же, выглядит лагги: / – H4Hugo

Смежные вопросы