Menu
CoddyTech

チェックポイント

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 = ... と書くと、その関数内だけで使える新しい変数が作られます。先頭にある変数はそのままです。

challenge icon

チャレンジ

中級

旗をチェックポイントにしましょう。

  1. _on_checkpoint_body_enteredで、varを付けずにstart_pointを$Checkpoint.positionに設定します。
  2. 旗をミント色にします:$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プレイグラウンド