以下の内容はhttps://toburau.hatenablog.jp/entry/2025/11/10/221637より取得しました。


100日チャレンジ070 アーム接触判定


アームが小惑星デブリ接触したときの処理を追加。
アームのシーン内のArea3Dで接触判定を行い、body_entered シグナルで処理を行う。アームのArea3Dのシグナルから直接プレイヤーのスクリプトを呼び出せれば楽なのだが、アームはプレイヤー情報を持っていないので出来ず。
そこで、アームで自前のシグナルを発火させ、それをプレイヤー側で受け取るように実装した。
コードは次のような感じ。

arm.gd
func _on_body_entered(body):
    emit_signal("touched", body)

player.gd
func _ready():
   arm.touched.connect(_on_arm_touched)
func _on_arm_touched(body):
   print("touched")



以上の内容はhttps://toburau.hatenablog.jp/entry/2025/11/10/221637より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14