スクリーンセーバー:左右の壁
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:チャレンジ
簡単ロゴが左右の端で跳ね返るようにしましょう。
_process()で、ロゴが移動した後に、position.xが570より大きい、または70より小さい場合のifを追加します。- その中で、
velocity.xを反転させます。
「プレイ」を押すと、ロゴは左右の端で跳ね返りながら、引き続き画面下へ流れていきます。その後、「確認」を押します。
自分で試してみよう
extends Node2D
var velocity = Vector2(200, 90)
func _process(delta):
position += velocity * delta
ノードとシーンのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド