階段づくり
CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 6/24。
前のレッスンでは、iを使ってそれぞれの柱を一方向に動かしました。階段では、各段が同時に上へ、そして前へ進む必要があるため、iは3つの数値のうち2つに使われます。
各段の厚さを1スタッドとします。段iの上面を高さiにするには、中心をそこから半スタッド下にする必要があります。つまり、i - 0.5です。各段をZ軸に沿ってゴールへ2スタッドずつ近づけるには、開始位置からi * 2を引きます。
for i = 1, 3 do
print(i - 0.5, 10 - i * 2)
endこれは0.5 8、1.5 6、2.5 4を出力します。これは、Z 0に向かって上る3段のY座標とZ座標です。printに複数の値を渡すと、空白で区切って出力されます。
このゲームでは、プレイヤーは高さ約1スタッドの段を歩いて上ります。それより高いものにはジャンプが必要です。
チャレンジ
簡単黄色いブロックの高さは10スタッドで、ジャンプしても届きません。そこまで続く階段を作りましょう。
ループによって、Stepという名前の固定されたステップがすでに10個作られていますが、すべて同じ場所にあります。それぞれのPositionを変更して、ステップiが次のようになるようにしましょう。
- 上面の高さが
iになる(ステップの厚さは1なので、中心のY座標はi - 0.5) - Z座標が
10 - i * 2になる。これにより、各ステップはブロックに2スタッドずつ近づく
Playを押して階段を登り、それからCheckを押しましょう。
自分で試してみよう
for i = 1, 10 do
local step = Instance.new("Part")
step.Name = "Step"
step.Size = Vector3.new(6, 1, 2)
step.Anchored = true
-- 各ステップは1スタッド高く、黄色いブロックに2スタッド近くなります
step.Position = Vector3.new(0, 0.5, 10)
step.Parent = workspace
end
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Robloxゲームのスクリプティングのすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ