チェックポイント
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 20/27。
チェックポイントによって、トゲに当たったときに送られる場所が変わります。そこで、開始地点を main.gd の先頭に変数として置くと、すべての関数からアクセスできます。
var start_point = Vector2(80, 280)
func _on_spikes_body_entered(body):
body.position = start_pointトゲに当たると、その時点で start_point に入っている場所へ送られます。変数を変更すると、次に当たったときはそこへ送られます。
start_point = ... を使って変更します。関数の中で var start_point = ... と書くと、その関数内だけで使える新しい変数が作られます。先頭にある変数はそのままです。
チャレンジ
中級旗をチェックポイントにしましょう。
_on_checkpoint_body_enteredで、varを付けずにstart_pointを$Checkpoint.positionに設定します。- 旗をミント色にします:
$Checkpoint.modulate = Color(0.49, 0.95, 0.75)。
「プレイ」を押して、旗に触れてからトゲに触れます。旗のところに戻ってきます。その後、「確認」を押します。
自分で試してみよう
extends Node2D
var start_point = Vector2(80, 280)
func _ready():
$Spikes.body_entered.connect(_on_spikes_body_entered)
$Checkpoint.body_entered.connect(_on_checkpoint_body_entered)
func _on_spikes_body_entered(body):
body.position = start_point
func _on_checkpoint_body_entered(body):
pass
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド