ブロックを1つ作り、名前を「 落ちる足場 」にして Script を入れましょう。プレイヤーが乗ってからしばらくして消える、Obbyの定番ギミックです。
フラグの考え方、前回のScriptでも似たようなのがあった気がする!だんだん見覚えのある形が増えてきた!
ブロックを1つ作り、名前を「 落ちる足場 」にして Script を入れましょう。プレイヤーが乗ってからしばらくして消える、Obbyの定番ギミックです。
local part = script.Parent
local isFalling = false -- すでに落ちている最中かどうかのフラグ
part.Touched:Connect(function(hit)
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if player and not isFalling then
isFalling = true -- 落下中にする
wait(1) -- 1秒後に落ちる
part.Transparency = 1
part.CanCollide = false
wait(2) -- 2秒後に元に戻す
part.Transparency = 0
part.CanCollide = true
isFalling = false -- 落下中フラグを戻す
end
end)
isFalling は「 今すでに落下中かどうか 」を覚えておくフラグ(0か1かのスイッチのようなもの)です。これがないと、乗っている間ずっと Touched が発生し続けてプログラムが暴走してしまいます。
フラグの考え方、前回のScriptでも似たようなのがあった気がする!だんだん見覚えのある形が増えてきた!
Well done!
次のステップに進みましょう!