Menu
CoddyTech

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

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

最後のステップでは、跳ね返るたびにロゴの色を次の色にします。4つの端で同じ処理を行うので、next_color()という1つの関数にまとめ、跳ね返るたびに呼び出します。

この関数はcolor_indexを1増やし、次にcolors[color_index]を表示します。色が3つある場合、インデックスは1、2、3と進みますが、3に対応する色はありません。そこで、項目数を表すcolors.size()と等しくなったら、0に戻します。

if color_index == colors.size():
	color_index = 0

==は2つの値が等しいかどうかを調べます。単一の=は値を設定します。

challenge icon

チャレンジ

簡単

跳ね返るたびにロゴの色を次の色にします。

  1. func next_color():と書きます。color_indexに1を加え、colors.size()と等しくなったら0に戻し、その後modulate = colors[color_index]を設定します。
  2. 両方のifの中で、反転処理の下にnext_color()を呼び出します。

「プレイ」を押すと、跳ね返るたびにリスト内の次の色が表示されます。その後、「確認」を押します。

自分で試してみよう

extends Node2D

var velocity = Vector2(200, 90)
var colors = [Color(0.49, 0.95, 0.75), Color(1, 0.78, 0.34), Color(1, 0.42, 0.42)]
var color_index = 0

func _ready():
	modulate = colors[0]

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プレイグラウンド