はじめてのゲームプログラミングなので、もっといいやり方があったら教えてください。
よくある横スクロールのゲームを作っていたが、何しろソースが少ないので手探り。
弾を発射して当たったらどうこうするっていうのは簡単。didBeginContact()で判定すればよい。
でも飛び道具じゃない判定はどうすればいいんだろう???
let attackRange: SKSpriteNode!
attackRange = SKSpriteNode(color: UIColor.greenColor(), size: CGSizeMake(40, 100))
attackRange.position = CGPoint(x: player.position.x + 50, y: player.position.y)
self.addChild(attackRange)
// enemy: SKSpriteNode
if (attackRange.intersectsNode(enemy)) {
// ここに当たった時の動作を書く
}
attackRange.removeFromParent()
とりあえずこれで動いた。
具体的には、プレイヤーの位置から当たり判定を作って、その中に敵がいれば動作するって感じ。
色が付いて当たり判定が見えるし、割と簡潔に書けた。