Menu
CoddyTech

階段づくり

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スタッドの段を歩いて上ります。それより高いものにはジャンプが必要です。

challenge icon

チャレンジ

簡単

ジャンプしても届かない高さにある黄色いブロックまで、階段を作りましょう。

  1. ループではすでに、同じ場所に10段の階段が作られています。step.Positionの行を見つけましょう。
  2. 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オンラインコンパイラ