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. 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
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

シグナルと衝突のすべてのレッスン

自分で練習してみよう: Godotプレイグラウンド