2017-09-14 23 views
2

これは私を怒らせています。このコード:毎回2回SKActionが呼び出されます(Swift 3)

func nowPrint() { 
     print("RUN") 
    } 


    run(SKAction.repeatForever(
     SKAction.sequence([ 
      SKAction.run(addSpawn), SKAction.run(nowPrint), 
      SKAction.wait(forDuration: universalDuration/10) 
      ]) 
    ) 
    ) 

は(universalDuration = 100)を2回と呼ばれるように思われるが、10秒ごとにコンソールウィンドウを印刷 "RUN" ので二回。

このコードは、違いがある場合はsceneDidLoad()関数に含まれています。

+0

これを見てください:https://stackoverflow.com/q/39590602/6658553 – nathan

+0

はい!ちょうどそれと[this](https://stackoverflow.com/questions/42680004/scenedidload-running-twice)も見つかりました。私は問題がシーンの読み込みであることを認識していませんでした。解決策 - sceneDidLoadをdidMove(表示する)に変更します。 – modalmusic

答えて

2

解決策 - 変更sceneDidLoad to didMove(表示する)。

+0

はい、Scene didLoadメソッドが、使用している技術(GamePlayKitのような)に応じて2回発生することがあるバグがあります。可能な限り使用しないでください – Knight0fDragon

関連する問題