階段づくり
CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 6/25。
前回のレッスンでは、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.Positionの行を見つけましょう。 Vector3.new(0, i - 0.5, 10 - i * 2)に変更しましょう。ステップiの上面は高さiにあり、前のステップより2スタッド近くなります。
「プレイ」を押しましょう。10段の階段がブロックまで続き、歩いて上れるようになります。その後、「確認」を押しましょう。
自分で試してみよう
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オンラインコンパイラ