0
UIViewController
にSKScene
まで追加しているパーティクルがあります。私はSKScene
に多くの知識を持っていないが、私はラインemitterNode?.removeFromParent()
に、deinit
内部に発生するまれな誤りがあったSKSceneが正しく設定されていますか?
class MyScene : SKScene {
private var emitterNode: SKEmitterNode?
deinit {
emitterNode?.removeAllActions()
emitterNode?.removeFromParent()
self.removeAllChildren()
}
override init(size: CGSize) {
super.init(size: size)
self.backgroundColor = UIColor.whiteColor()
let emitterPath = NSBundle.mainBundle().pathForResource("MyParticle", ofType: "sks")
emitterNode = NSKeyedUnarchiver.unarchiveObjectWithFile(emitterPath!) as? SKEmitterNode
emitterNode!.name = "myParticle"
emitterNode!.targetNode = self.scene
emitterNode!.position = CGPointMake(self.frame.size.width/2, 15)
self.addChild(emitterNode!)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
:次は私のSKScene
コードです。私のコードは正しいですか?
私がdeinit行を追加したのは、iOS 8でアプリケーションがクラッシュするためでした。残念ながら、クラッシュした理由はありません。 – Tometoyou
私はいくつか普遍的なアプリを使用していないdeinit、おそらく3番目の部分からいくつかの特定の古いライブラリは、それらのいくつかを使用しているiOS8の互換性から始めている? –