Swiftで遊ぼう! - 776 - 爆発はアニメーション!
爆発に物理空間を実装したので、ここから本当に衝突判定をします。
おっと、「衝突」という言葉を使うのは語弊がありました。Sprite Kitの物理空間の世界では、「collision」と「contact」を明確に区別しているからです。衝突はcollisionになります。しかし、explosionRadiusオブジェクトのphysics bodyのcollisionBitMasukを「0」にしているので、衝突は無視されます。衝突判定をするんじゃなく接触判定(contact)を実装していくんです。
今までの内容で間違った説明があるかもしれません。復習する時に気がつけば修正しますm(_ _)m
さて、接触判定ですが、tossBeaker()メソッド内のif let cloud内を次のように修正を加えます。
if let cloud = beaker.childNode(withName: "cloud"), let explosionRadius = beaker.childNode(withName: "explosionRadius") {
beakerにcloudノードを加えたオブジェクトとbeakerにexplosionRadiusノードを加えたオブジェクトを作ることができたらif節内を実行します。
今日はこれだけ。