Анимация для удаления спрайта - PullRequest
0 голосов
/ 30 декабря 2018

В настоящее время я делаю Sprite, и я хочу, чтобы он анимировался до того, как он исчезнет .

Например : я хочу, чтобы он оживил это в том смысле, что оно исчезает от вершины блока до низа .Иными словами, я хочу, чтобы размер медленно уменьшался, пока ничего не осталось.Но я хочу создать видимость, что он исчезает, а не масштабируется до нуля.

let hand = SKSpriteNode(imageNamed: "hand")
hand.size = CGSize(width: size.width/10, height: size.height/30)
hand.position = CGPoint(x: CGFloat(posX-2)*size.width/10+offsetX, y:CGFloat(posY)*size.height/30+offsetY)
addChild(hand)

tl; др. Можно ли создать подобный эффект, используя SpriteKit в * 1019?* Swift .Идеальная анимация: https://ibb.co/sPsffmK

1 Ответ

0 голосов
/ 18 января 2019

SKAction - это анимация, которая выполняется узлом в сцене.Действия используются для изменения узла каким-либо образом (например, для перемещения его положения во времени), но вы также можете использовать действия для изменения сцены, например, для затухания.

В вашем случае вы можете применить несколько анимаций:

let move_action = SKAction.moveBy(x: -100, y: 0, duration: 1.0)
let scale_action = SKAction.scale(to: 0.0, duration: 1.0)
let fade_action = SKAction.fadeAlpha(to: 0.0, duration: 1.0)

hand.run(move_action)
hand.run(scale_action)
//hand.run(fade_action)

В предыдущем примере hand запускает анимацию move и scale одновременно.Но вы также можете сделать от hand до move до position, а после того, как оно достигнет, до scale этого.

let sequence = SKAction.sequence([move_animation,scale_animation])
hand.run(sequence)

Существует множество анимаций, которые имеет SKAction, здесь вы можете найти полный список.

...