私はCell
と呼ばれるSKNodeのサブクラスを持っています。私はすべての物理学の体を設定し、彼らは適切に衝突する。ただし、didBeginContact()
関数はGameScene
にあり、セルプロパティを変更するセルで宣言された関数を呼び出したいので、Cell
にする必要があります。デリゲートをSKNodeサブクラスに設定する方法はありますか?あるいは、回避策を使ってGameSceneのCell内の関数を呼び出すことはできますか?物理体細胞の内側SKNodeサブクラス内でSK物理接点をテストするにはどうすればよいですか?
let cellCategory: UInt32 = 0x1 << 0
let foodCategory: UInt32 = 0x1 << 1
let borderCategory: UInt32 = 0x1 << 2
、セットアップ:
let physicsBody = SKPhysicsBody(circleOfRadius: 5)
self.physicsBody = physicsBody
self.physicsBody!.affectedByGravity = false
self.physicsBody!.allowsRotation = false
self.physicsBody!.categoryBitMask = cellCategory
self.name = "cell"
self.physicsBody!.contactTestBitMask = cellCategory | borderCategory
も注意:以下の答えが正しい:私はスウィフト3.0
EDITを使用していますビットマスクを設定
。みんなにヘッドアップ:
func didBeginContact(contact: SKPhysicsContact) {
...
}
キープスウィフト3.0
共有コードを助けるかもしれません! – dip
申し訳ありません。私は今実際に自分のコンピュータにアクセスすることはできません。私はこれがすべての必要な詳細をカバーしていると思いますが、もし下の解決策がそれを修正しなければ、私はコードを明日共有することができます@dip –