これで検索しましたが、この問題の答えが見つかりません。 私は、3つの異なるノードタイプを使用して、衝突を処理します。流星、ショット、駅。私はショットと流星の間の衝突処理のコードを完璧には持っていますが、私の人生では、衝突にどのように反応するかを理解できません(衝突は検出されていますが、応答コードは実行されません)。駅と流星。ここに私のdidBeginのfuncがあります:3種類の衝突体? Swift3 + Spritekit
func didBegin(_ contact: SKPhysicsContact){
print("contact")
let shot = (contact.bodyA.categoryBitMask == shotCategory) ? contact.bodyA : contact.bodyB
let stationBody = (contact.bodyA.categoryBitMask == stationCategory) ? contact.bodyA : contact.bodyB
let otherObject = (shot == contact.bodyA) ? contact.bodyB : contact.bodyA
if ((contact.bodyA == stationBody) && (contact.bodyB == otherObject)) {
print("collision!")
}
}
「接触」流星は、駅と衝突したときに印刷されたが、「衝突!」されています印刷されていません。私は、コードを言葉で表現されている方法で行うには、その得た何かを知っているが、私は、それは関係なく、私が書くどのように動作しないことを得るように見えることはできません/書き換え、それ
ありがとうございます!私は家に帰ると間違いなくそれを試してみましょう、それがどのようになったのかを教えてください –
がうまくいきます!助けてくれてありがとう –