消える橋
CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 10/24。
点滅するライトは1つのパーツを変えました。橋にはたくさんのステップがあり、すべてを一緒に変える必要があります。
GetChildren()は、オブジェクトの直接の子をテーブルとして返すので、forループですぐに使えます。GetChildrenのように、オブジェクトに属する関数はコロンを使って呼び出します。
for _, child in workspace.Bridge:GetChildren() do
print(child.Name)
endフォルダーにはScriptも入れることができますが、ScriptにはTransparencyがありません。child:IsA("BasePart")は、あらゆる種類のパーツに対してtrueを返し、Scriptに対してはfalseを返します。if condition then ... endは、条件がtrueのときに限り、内部の行を実行します。
if child:IsA("BasePart") then
child.Transparency = 0.8
end透けて見えるパーツでも、固体のままにできます。プレイヤーがすり抜けられるようにするのは、CanCollide = falseです。
チャレンジ
簡単その橋は空間に架かる4段のステップでできており、このスクリプトは橋のフォルダー内にあります。スクリプトはステップを一度だけ消します。橋が永遠に繰り返すようにしましょう。
- 開始から2秒後にステップが消えます:
Transparency0.8、CanCollidefalse - その2秒後にステップが戻ります:
Transparency0、CanCollidetrue - これが4秒ごとに永遠に繰り返されます
Playを押して、渡りきるタイミングを計ってから、Checkを押しましょう。
自分で試してみよう
local bridge = script.Parent
-- これにより、2秒後に足場が一度だけ消えます。
-- さらに2秒後に足場を元に戻し、それを永遠に繰り返してください。
task.wait(2)
for _, step in bridge:GetChildren() do
if step:IsA("BasePart") then
step.Transparency = 0.8
step.CanCollide = false
end
end
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Robloxゲームのスクリプティングのすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ