Menu
CoddyTech

スクリーンセーバー:左右の壁

CoddyのGodotジャーニー「ノードとシーン」セクションの一部。レッスン 25/28。

ロゴが右端に当たると、xの速度は反対方向の200から-200を指す必要があります。値の前にマイナス記号を付けると、符号が反転します。

velocity.x = -velocity.x

左端では、同じ行によって-200が200に戻ります。反転するのはxだけなので、ロゴは下方向へ流れ続けます。

ロゴのpositionは中央の位置で、プレートの幅は140ピクセルです。中央が640 - 70 = 570にあると右側が端に触れ、中央が70にあると左側が端に触れます。

orは2つの条件をつなぎます。どちらか一方が真であれば、ifが実行されます。

if position.y > 300 or position.y < 60:
challenge icon

チャレンジ

簡単

ロゴが左右の端で跳ね返るようにしましょう。

  1. _process()で、ロゴが移動した後に、position.xが570より大きい、または70より小さい場合のifを追加します。
  2. その中で、velocity.xを反転させます。

「プレイ」を押すと、ロゴは左右の端で跳ね返りながら、引き続き画面下へ流れていきます。その後、「確認」を押します。

自分で試してみよう

extends Node2D

var velocity = Vector2(200, 90)

func _process(delta):
	position += velocity * delta

ノードとシーンのすべてのレッスン

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