「画面上の敵全員を一斉に怯ませたい」「プレイヤーの攻撃が当たったのが敵なのか、壊せる箱なのか、アイテムなのかを見分けたい」——ゲームを作っていると、こうした「役割でまとめて扱いたい」場面が次々に出てきます。
これをノードの親子関係や if body.name == "Slime" のような名前判定でこなそうとすると、敵を1種類増やすたびにコードを直す羽目になり、すぐに破綻します。そこで役立つのがGodotの グループ(Groups) 機能です。ノードに 役割のタグ を貼っておけば、種類やクラスを気にせず「タグでまとめて」判定・命令できます。
この記事でわかること
- グループ =シーン階層から独立した「役割のタグ付け」システム
add_to_group()での登録と、is_in_group()での 柔軟な判定call_group()による グループへの一斉命令- メタデータ・
class_name・ダックタイピングとの 使い分け
動作確認環境: Godot 4.7
目次
Sponsored
グループとは?役割の「タグ付け」システム
グループは、シーンツリーの階層やノードの種類とは 無関係に、ノードへ仮想的な 「タグ」 を貼るシステムです。CharacterBody2D に「enemies」、Area2D に「collectible_items」——といった具合に、クラスが違っても同じタグでまとめられます。
