小ネタ集 GameMakerStudio2編


当たり判定の設定


当たり判定キャラのスプライトは赤一色などに設定するとよいです。
最初にシステム側でスプライト全体を当たり判定として登録しておきます。

●オブジェクト名 obj_player(プレイヤー)
obj_playerが出現・生成時に当たり判定キャラobj_death_collisionを生成。

//Create
with instance_create_depth(x,y,depth,obj_death_collision){
	parent_id = other.id;
	depth -= 1;
	image_xscale = 8;
	image_yscale = 8;
}

parent_id = other.id;
当たり判定キャラをプレイヤーキャラの子として登録します。

depth -= 1;
depthを調整して当たり判定キャラを自機の上に重ねます。

image_xscale = 8;
当たり判定サイズの倍率を直接設定できます(1が等倍)

image_yscale = 8;
当たり判定サイズの倍率を直接設定できます(1が等倍)

●オブジェクト名 obj_death_collision(プレイヤー死亡判定)
当たり判定キャラobj_death_collisionをobj_playerに追従させる動作。

//End Step
if instance_exists(parent_id){
	x = parent_id.x;
	y = parent_id.y;
}else{
	instance_destroy()
}
if (global.collision_disp){
	visible = true;
}else{
	visible = false;
}

x = parent_id.x;
obj_death_collisionをobj_playerのx座標に同期させます。
y = parent_id.y;
obj_death_collisionをobj_playerのy座標に同期させます。

任意のグローバル変数でvisibleの値を切り替えることで当たり判定の表示・非表示を設定できます。
同様に敵キャラの当たり判定を設定したらobj_death_collisionのオブジェクト編集からcollisionイベントを編集し、
敵キャラ等に衝突した際の処理を設定してください。

Back