Итак, моя цель - извлечь содержимое SKScene
и затем выполнить некоторые действия для их узла:
func loadSceneNodes() {
let loadedScene = SKScene(fileNamed: "newScene.sks")
// Reads the content of the "Content" node in the newScene.sks
let content = loadedScene!.childNode(withName: "Content") as! SKSpritenode
// I move the content to self
// (THANKS Knight0fDragon for suggestion)
content.move(toParent: self)
// Forces the unpause
self.isPause = false
// Try to run a test action on the node
content.run(.rotate(byAngle: 90, duration: 2.0)) {
print("DONE")
}
print(content.hasActions()) // DEBUG -> it prints TRUE
}
Что происходит, когда я успешно читаю содержимое, и оно отображается на сцене , но действия не отображаются, даже если hasActions()
результаты true
.
Я обнаружил кое-что очень интересное, поиграв с точками останова и консолью отладки. content.hasActions()
возвращает true
, потому что все SKActions
попадают в стек:
Они кажутся замороженными, потому что если я назначу больше действий , они получат стопку в куче один за другим, не разбегаясь. Только , как только я выйду из точки останова (или если я приостановлю и затем воспроизведу приложение через xCode), все выполнится. Как приложение «нуждается» в refre sh.