スクリーンセーバー:新しい色
CoddyのGodotジャーニー「ノードとシーン」セクションの一部。レッスン 27/27。
最後の手順では、跳ねるたびにロゴの色を変えます。色を角括弧で囲んだリストに入れておきます。colors[0]が1番目の色、colors[1]が2番目の色です。インデックスは次に使う色を示します。
var colors = [
Color(0.49, 0.95, 0.75),
Color(1, 0.78, 0.34),
]
var color_index = 04つの壁はすべて同じ動作をするので、跳ねるたびに呼び出す1つの関数にまとめます。この関数はcolor_indexの位置にある色をmodulateに設定し、その後インデックスに1を足します。
インデックスがcolors.size()に達すると、その位置には色がありません。インデックスを0に戻すと、色が最初から繰り返されます。
チャレンジ
簡単- ノード変数
colorsを追加します。少なくとも3色のリストにします(コースで使うミント、アンバー、コーラル、ブルーはそれぞれColor(0.49, 0.95, 0.75)、Color(1, 0.78, 0.34)、Color(1, 0.42, 0.42)、Color(0.369, 0.635, 1)です)。そしてcolor_index = 0とします。 next_color()を記述します。modulateをcolor_indexの位置にある色に設定し、インデックスに1を加え、リストの最後に達したら0に戻します。- バウンドするたびに呼び出します。左右の端、上端、下端で呼び出してください。
自分で試してみよう
extends Node2D
var velocity = Vector2(200, 90)
func _process(delta):
position += velocity * delta
if position.x > 570 or position.x < 70:
velocity.x = -velocity.x
if position.y > 330 or position.y < 30:
velocity.y = -velocity.y
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ノードとシーンのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド