GameMaker 日本語掲示板

特定の条件下でのスプライト変更について

2 コメント
views
16 フォロー

AというオブジェクトがA以外のオブジェクトとぶつかった際、AのスプライトPlayer_normalをPlayer_colisionに変更し、ぶつかり状態が終わったらPlayer_normalに戻す。という動作をしたいのですが、GML VisualもしくはGML Codeで行う方法はありますか?
無知で申し訳ないのですがご教授お願い致します。

program_suck
作成: 2023/07/31 (月) 00:26:41
通報 ...
1

いろいろやり方がありますが、下記のような方法もできると思います。これが正解というわけではなく、1つの方法として参考になればと思います。

ノーマル状態とぶつかり状態があり、それぞれにspriteをセットしています。

STEPイベント

switch (state)
{
	case "normal":
		if (place_meeting(x, y, objB)) {
			sprite_index = Player_colision;
			state = "butsukari";
		}
		break;
	case "butsukari":
		// ぶつかり状態の処理
	
		if (ぶつかり状態の終了条件) {
			state = "normal";
			sprite_index = Player_normal;
		}
		break;
}
2
program_suck 2023/08/03 (木) 22:48:39

ありがとうございます!