GameMaker 日本語掲示板

spriteアニメーションからイベントをトリガーする

1 コメント
views
16 フォロー

spriteのフレームにブロードキャストメッセージ(broadcast message)をセットすると
アニメの内容にシンクロしていろんな処理を実行できます。

■ sprite editorでブロードキャストメッセージを登録
画像1



ブロードキャストメッセージについての詳細はここ


■ メッセージを受け取るオブジェクトにBroadcast Messageイベントハンドラをセット
画像1

if (event_data[? "event_type"] == "sprite event")
{
	switch (event_data[? "message"])
	{
		case "player_footstep": // <---ブロードキャストメッセージ
			play_sound(se_footstep);
			break;
		
		case "player_attack": // <---ブロードキャストメッセージ
			make_damage();
			break;
	}
}



これで、コードでimage_indexを調べて…とかやらなくて済みます。

注意点
image_indexを手動で更新するとうまく動作しません。image_speedに任せる必要があります。

asa
作成: 2022/07/18 (月) 23:21:46
最終更新: 2022/07/18 (月) 23:27:03
通報 ...
1
umaaaaaa 2022/07/21 (木) 13:32:07

SEで使おうと思ってた機能なので助かります!