Home > GM小技コーナー

GM小技コーナー Archive

GM小技コーナー Vol.1

記念すべき第一回!

どうでもいいコーナー!
今日は当たり判定の小技をご紹介します!

コリジョンイベントは便利ですが、これをステップイベントでコリジョン関数でやりたいと思うと一つ不便な点が出てきます。

それは・・・otherの指定が出来ないところ!

コリジョンイベントでotherを指定すると、衝突しているインスタンスのIDを指しますので
何かと都合よく使うことが出来ます。

しかし、コリジョンイベント以外ではotherを使うことは出来ません。

ではどうするのかをご紹介します!

使うのはcollision_rectangle関数です。

collision_rectangle関数は、衝突したインスタンスIDを返してくれますので、加工すれば簡単に擬似的なotherを作ることが出来ます。

sb = collision_rectangle(bbox_left,bbox_top,bbox_right,bbox_bottom,obj,1,1)
if(sb != noone)
with(sb)
{
    instance_destroy()
}

これで変数「sb」に衝突したインスタンスIDを代入し使う事が出来ます。
衝突しない場合は-1(noone)が代入されますので、その条件に一致した場合は処理を行わなければいいだけです。

ちょっと試してないので、もしかしたら判定が1pxずつ小さくなるかもしれないです。
そういう場合は座標指定の部分を加工すれば大丈夫なはずです。

ホーム > GM小技コーナー

Search
Feeds
Meta

Return to page top