[04]プレイヤーが地面から落ちた時の簡単な処理

Area2Dを親としてCollisionShape2Dを設定する

スクリプト
コリジョンに触ったら最初のシーンに戻る

extends Area2D

func _on_body_entered(body: Node2D) -> void:
	get_tree().reload_current_scene()
	

メイン画面にDeathZoneを設置

E 0:00:03:379   death_zone.gd:6 @ _on_body_entered(): Removing a CollisionObject node during a physics callback is not allowed and will cause undesired behavior. Remove with call_deferred() instead.
  <C++ ソース>     scene/2d/physics/collision_object_2d.cpp:98 @ _notification()
  <スタックトレース>    death_zone.gd:6 @ _on_body_entered()

エラーの原因が良く分からないが、戻りが速すぎるらしいのでTimerを設置

extends Area2D

@onready var timer: Timer = $Timer

func _on_body_entered(body: Node2D) -> void:
	#get_tree().reload_current_scene()
	timer.start()

func _on_timer_timeout() -> void:
	get_tree().reload_current_scene()
	
コメントを残す 0

Your email address will not be published. Required fields are marked *