1
私はSwift iOSプログラミングの初心者で、「プレハブ」の作成について質問がありますか? 私はUnityの背景を持っていて、何回もインスタンス化できるプレハブのようなものがありました。 SwiftやXcodeに類似したものはありますか?特に、私はSpriteKitで子どもと一緒にSKNodeのコピーを作ることを探していますスイフトとプレハブ?
私はSwift iOSプログラミングの初心者で、「プレハブ」の作成について質問がありますか? 私はUnityの背景を持っていて、何回もインスタンス化できるプレハブのようなものがありました。 SwiftやXcodeに類似したものはありますか?特に、私はSpriteKitで子どもと一緒にSKNodeのコピーを作ることを探していますスイフトとプレハブ?
私はプレハブに最も近いものはクラスだと思います。
SKnodeや他のノードのサブクラス(SKSpriteNodeなど)を作成し、そのクラスをセットアップして必要な処理を行うことができます。次に、そのクラスのインスタンスを作成します。
class Box : SKSpriteNode{
init(){
//Setup your node the way you want it
super.init(texture: nil, color: UIColor.red, size: CGSize(width: 50, height: 50))
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
//create instance and add to scene.
let box = Box()
self.addChild(box)
ノードを設定してから、コピー機能を使用してこのノードをその子ノードと共にコピーすることもできます。
let block1 = SKSpriteNode(color: UIColor.red, size: CGSize(width: 50, height: 50))
let child = SKSpriteNode(color: UIColor.blue, size: CGSize(width: 25, height: 25))
block1.addChild(child)
let copy = block1.copy() as! SKSpriteNode
addChild(copy)
私は前にそのアプローチを試みたが、それは何らかの理由で動作していなかった。どうもありがとうございます! – galdev
iircこれは物理的なボディを持つノードのためには機能しません(物理的なボディはそれほどコピーされません)...少なくとも過去は動作しませんでしたので、ダブルチェックしてください。これはもはや問題ではない場合誰かが私を修正するために自由に感じる... @galdev – Whirlwind