2015-04-06 13 views
5

Mam węzeł SKN, który jest paskiem ładowania. Pasek ten ma się kurczyć od prawej do lewej. Na ten sposób używam następujący kod:SpriteKit - węzeł skalowania do X od prawej do lewej

let loadBarNode = self.childNodeWithName("loadBar") 

    if loadBarNode != nil{ 

     let countdown = SKAction.scaleXTo(0, duration: 3) 
     loadBarNode?.runAction(countdown) 

    } 

Kiedy uruchomić ten kod, tak się dzieje:

What happens when code runs.

Chciałbym wiedzieć, jak się kurczyć kształt od strony prawej do lewej, jak to:

It's supposed to look like this.

Każda pomoc jest mile widziana!

Odpowiedz

4

Uważam, że prostszym rozwiązaniem jest zmiana zakotwiczenia węzła.

loadBarNode.anchorPoint = CGPointMake(0.0, 0.5) 

Skalowanie jest oparte na anchorPoint twojego węzła, co spowodowałoby jego rozszerzenie w prawo.

3

Złóż sekwencję SKAction który ma swoje działanie odliczania, plus SKAction który przenosi swoją X.

klasa funkcjono moveToX (_ x: CGFloat, trwania sec: NSTimeInterval) -> SKAction

W miarę zmniejszania się paska ładowania, chcesz przesunąć X o połowę odległości skurczonej.

+0

To naprawdę dobre i proste rozwiązanie. +1 – sangony

+0

@sangony Tak naprawdę, po przemyśleniu tego ponownie ... Muszą działać jednocześnie. Czy sekwencja zadziała? Ale nadal, dzięki za komplement, proszę pana! – Roecrew

+1

Użyj bloku, aby wykonać oba jednocześnie. – sangony

Powiązane problemy