ふたもりのブログ(仮)

個人的な感想とかメモ書きのまとめ。ネタバレもあるのでご注意を。

Godotメモ「複数のCollisionを持つAreaで受けるinput_eventを判別する」

自分用メモ。
 v4.2.1.stable



こんな状態のツリーに対して

func _on_area_2d_input_event(viewport, event, shape_idx):
    if event is InputEventMouseButton:
        if event.is_pressed():
            match shape_idx:
                0:
                    if _levelUpAbleFlg:
                        _level_up()
                1:
                    if _level > 0:
                        _switch_parts_disp()

てな感じで判別できた。
shape_idxにそのままCollisionの番号が入ってるっぽい。
番号は直接指定できず、ツリーの並び順に依存するっぽい?
リネームとかには強いけど、並び替えで数字が変わるのは注意か。


参考:

docs.godotengine.org