サイログ。

~雑多な記事置き場~

円形衝突判定を追加

Miykaoには、矩形の重なりを判定して衝突判定とする方法が以前から有りましたが、RPGならまだしも、アクションゲームの衝突判定では不便きわまりないところがありました。
そこで、円形衝突判定が出来るCircleCollisionクラスを追加しました。

作り方は簡単で、矩形の中心位置と半径を設定してCircleCollisionクラスのインスタンスを作るだけです。

# 大きさが[32,32]の矩形の時、中心を[16,16]、半径を16と想定
c = Miyako::CircleCollsion.new([16,16],16)

これで、あとはこれまでのCollisionと同じです。

c.collision?([100,100], c2, [64,64]) # => true/false
c.meet?([100,100], c2, [64,64]) # => true/false
c.cover?([100,100], c2, [64,64]) # => true/false

但し、Mapクラスのコリジョンテーブルは、これまでどおり矩形衝突判定を使用します。

サンプルがまだ出来上がっていないので、アップは後日。