2017-09-14 142 views
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)似乎被調用兩次,因爲控制檯窗口每10秒打印兩次「RUN」。

該代碼包含在sceneDidLoad()函數中,如果這有所幫助。

+0

看看這個:https://stackoverflow.com/q/39590602/6658553 – nathan

+0

是的!剛剛發現,也[這](https://stackoverflow.com/questions/42680004/scenedidload-running-twice)。我沒有意識到問題會出現在場景加載中。解決方案 - 將sceneDidLoad更改爲didMove(查看)。 – modalmusic

回答

2

解決方案 - 將sceneDidLoad更改爲didMove(以查看)。

+0

是的,根據您使用的技術(如GamePlayKit),有時會發生場景didLoad方法有時會觸發兩次的錯誤,請儘可能避免使用它 – Knight0fDragon