2016-04-11 22 views
1

Bu sorunun nesi var?Swift SKAction Sırası çalışmıyor

self.runAction(
     SKAction.sequence([ 
      SKAction.runBlock({ 
       print("Step 1") 
      }), 
      SKAction.waitForDuration(2), 
      SKAction.runBlock({ 
       print("step 2") 
      }), 
      SKAction.waitForDuration(2), 
      SKAction.runBlock({ 
       print("step 3") 
      }), 
     ]) 
    ) 

Adım 1 baskılar konsola ama adım 2 ve 3 yok - ilk eylem koþulur görünüyor ama diğerleri yok.

Teşekkürler.

Sınıflarım ile ilgili bir şey var mı?

class Arrow: Entity{} 
class Entity: SKSpriteNode 

Ok sınıfındaki bir işlevden kod bloğunu arıyorum. Dokümanlar

+0

Bu kodda her şey yolunda. Bu durumda benlik nedir? – Whirlwind

+0

Bunu yaptığını düşündüğümde, yazdırmanın ("2. adım") konsola yazdırılamayacağı konusunda herhangi bir fikrin var mı? – garyconstable

+0

Başka bir koşu kodunuz var mı? Bu kod geçerlidir ve çalışmalıdır. Boş projede deneyin ve göreceksiniz (ben kendimin geçerli bir sahne olduğunu varsaydım). – Whirlwind

cevap

2

:

bir SKAction nesne sahne bir düğüm ile yürütülen bir işlem olup

araçlar düğüm sahne eklenmemişse, eylemler olabilir idam edilemez. Öyleyse, şu anda gerçekleşen şey, eylem diziniz tamamlanmadan önce okunuzun (belli ki) bir şekilde sahneden kaldırılmasıdır. Ayrıca bir noktada ok düğümünden tüm eylemleri (removeAllActions() yöntemini kullanarak) yanlışlıkla kaldırıp kaldırmadığınızı kontrol edin. Bu, eylemin yürütülmesini de durdurabilir.

+0

tuhaf - ok orada görebiliyorum!, Ancak okunu çalan oyuncu kodu çalıştırabilir ve 2. adıma geçebilir - ama ok kendini kod çalıştıramıyor – garyconstable

+0

@garyconstable Ardından daha fazla kod ekleyebilirsiniz Sorunu çoğaltın ... Bu şekilde herkes tahmin edebilir;) – Whirlwind