SpriteKit在复制节点时留了一个巨坑给开发者,需要开发者手动把复制节点的isPaused设置为false...
生活随笔
收集整理的這篇文章主要介紹了
SpriteKit在复制节点时留了一个巨坑给开发者,需要开发者手动把复制节点的isPaused设置为false...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
根據When an overlay node with actions is copied there is currently a SpriteKit bug where the node’s isPaused property might be set to true提示,SpriteKit有一個Bug需要開發者自己來填。
SpriteNode節點在被copy()復制后,會自動被設置為暫停,也就是節點的所有Action全部不可用,如果需要使用node.run(SKAction.run{//code})
需要把復制后的節點isPaused設置為false
需要把復制后的節點isPaused設置為false
需要把復制后的節點isPaused設置為false
重要的事情說三遍 !!!
let overlayScene = SKScene(fileNamed: "ShoseScene")!let overlayShose = overlayScene.childNode(withName: "Overlay") as! SKSpriteNode let gameSceneOverlay = overlayShose.copy() as! SKSpriteNode overlayShose.removeFromParent() // 移除舊的 /* 留意SpirteKit的巨坑 * When an overlay node with actions is copied there is currently a SpriteKit bug * where the node’s isPaused property might be set to true * 一定要記得設置為 false 或者所有gamesceneOverlay內的子節點的所有action都不起作用 */ gameSceneOverlay.isPaused = false; gameSceneOverlay.enumerateChildNodes(withName: "shose") { (node, _) in let sprite = node as! ShoseNodeClass sprite.newInstance(scene: self.scene!) // 加入物理體; }使用的場景
// 特效果汁func emitParticles(particleName: String, sprite: SKSpriteNode) {// isPaused =false 后,獲得的sprite才可以運行.run,否則不起作用;sprite.run(SKAction.run({sprite.removeFromParent() print ("精靈節點內 hit shoses") })) }更多Swfit游戲教學:http://www.iFIERO.com
轉載于:https://www.cnblogs.com/apiapia/p/9418399.html
總結
以上是生活随笔為你收集整理的SpriteKit在复制节点时留了一个巨坑给开发者,需要开发者手动把复制节点的isPaused设置为false...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: freopen()函数在ACM中的使用
- 下一篇: UOJ #188. 【UR #13】Sa