Menu
CoddyTech

スクリーンセーバー:新しい色

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 = 0

4つの壁はすべて同じ動作をするので、跳ねるたびに呼び出す1つの関数にまとめます。この関数はcolor_indexの位置にある色をmodulateに設定し、その後インデックスに1を足します。

インデックスがcolors.size()に達すると、その位置には色がありません。インデックスを0に戻すと、色が最初から繰り返されます。

challenge icon

チャレンジ

簡単
  • ノード変数 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
quiz icon腕試し

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

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

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