我有两个sks文件,一个带有节点,另一个带有在Scene Editor中创建的动作。我想加载节点并将它们添加到另一个节点,然后对它们应用操作,例如:
override func sceneDidLoad() {
let heroScene = SKScene(fileNamed: "Hero")
let head = heroScene?.childNode(withName: "HeroHead") as! SKSpriteNode
let testAction = SKAction(named: "HeroTestAction") as! SKAction
let loop = SKAction.repeatForever(testAction)
let hero = SKSpriteNode(color: SKColor.white.withAlphaComponent(0) , size: CGSize(width: 50, height: 250))
let body = SKSpriteNode(color: SKColor.blue, size: CGSize(width: 50, height: 50))
head.removeFromParent()
hero.addChild(head)
hero.addChild(body)
self.addChild(hero)
head.run(loop)
body.run(loop)
}
但行动不适用于head
。如果我将循环应用于body
或hero
它的工作原理。
我做错了什么?谢谢!
更新:当我第一次运行示例时,操作不起作用,但如果关闭应用程序并再次运行它是有效的。
我想说有一个有趣的“功能”,当你抓住一个参考精灵,就像它作为isPaused = true;
进来
尝试添加此功能
head.isPaused = false;
我相信在从另一个场景中抓取一个精灵之前我遇到了类似的问题。