レンガの壁
CoddyのGodotジャーニー「プロジェクト」セクションの一部。レッスン 5/33。
次はブロックです。5行×8個のブロックは、ゲーム開始時にmain.gdによって生成されます。ブロックはシーンbrick.tscnで、これをpreloadしてinstantiateします。
forループは数値ごとに1回実行されます。for row in 5:は、rowが0から4までの値で実行されます。ループの中にループを置くと、すべての行のすべての列を処理できます。
for row in 5:
for column in 8:
var brick = BRICK.instantiate()
brick.position = Vector2(68 + column * 72, 60 + row * 26)
add_child(brick)列の間隔は72ピクセル、行の間隔は26ピクセルです。これにより、64×20ピクセルのブロックの間に少し隙間ができます。
各ブロックを追加する前に、行ごとに1色ずつcolorを設定します。brick.color = COLORS[row]。
チャレンジ
中級main.gdで:
const BRICK = preload("res://brick.tscn")とCOLORSリスト(以下)を追加します。_readyで、Vector2(68 + column * 72, 60 + row * 26)の位置に5行×8個のブロックを作成し、それぞれにbrick.color = COLORS[row]を設定して、各ブロックをadd_childで追加します。
COLORSは[Color(1, 0.42, 0.42), Color(1, 0.78, 0.34), Color(0.49, 0.95, 0.75), Color(0.369, 0.635, 1), Color(0.75, 0.82, 0.95)]です。
自分で試してみよう
extends Node2D
func _ready():
pass
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
プロジェクトのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド