Rule Making

落ちる床

乗ったあと少し待つと、床がストンと落ちるドキドキ足場

v

一見ふつうの床。でも乗るとカウントして落ちる。

このギミックのルール

プレイヤーが触ったら、少し待って床のAnchoredをオフにする。

Studioで作るもの

FallingFloorScript
  1. Partを1つ置いて、名前を FallingFloor にする。
  2. Anchoredをオンにする。
  3. 床の中にScriptを入れる。
  4. 何度も反応しないように、落ちたかどうかを記録する。

考え方の図解

1

触れたか調べる

2

1秒待つ

3

Anchoredをオフにする

4

床が落ちる

Typing Time

手で書いてみよう

黄色の行は、コードの道案内です。声に出して読んでから、その下の命令をゆっくり手打ちしてみよう。

1行ずつ写す黄色の説明を読む数字を変えて実験する
-- 1. 落ちる床をつかまえるlocal floor = script.Parent -- 2. もう落ちたかどうかをメモするlocal hasFallen = false -- 3. プレイヤーが床に触ったら、この中が動くfloor.Touched:Connect(function(hit)    -- もう落ちた床なら、ここで終わり    if hasFallen == true then        return    end     -- 触ったものがプレイヤーかどうか調べる    local humanoid = hit.Parent:FindFirstChild("Humanoid")     if humanoid then        hasFallen = true        -- 赤くして「落ちるぞ!」と知らせる        floor.BrickColor = BrickColor.new("Really red")        task.wait(1)        -- Anchoredをオフにすると、重力で落ちる        floor.Anchored = false    endend)
Touchedは「何かがパーツに触れたとき」に動くイベント。
Humanoidを探すと、触ったものがプレイヤーかどうかを調べられる。
hasFallenは、同じ床が何回も落ちないようにするメモ。
task.wait(1) は1秒待つという意味。

Remix Missions

改造ミッション

Power Up Code

改造ミッションのコード

できたギミックに少し足すだけで、ステージのルールが変わります。まず1つ選んで、黄色の説明を読みながら書いてみよう。

落ちる前に色を黄色にする

落ちる合図を黄色にすると、プレイヤーが「危ない!」と気づけます。

-- 赤の代わりに黄色で予告するfloor.BrickColor = BrickColor.new("New Yeller")

0.5秒で落ちる床にする

待つ時間を短くすると、急いで渡る床になります。

-- 半秒だけ待って落ちるtask.wait(0.5)floor.Anchored = false

3秒後に元の位置へ戻す

最初の位置を覚えておくと、落ちた床を復活させられます。

-- Scriptの最初のほうに追加local startPosition = floor.Position -- floor.Anchored = false のあとに追加task.wait(3)floor.Anchored = truefloor.Position = startPositionfloor.BrickColor = BrickColor.new("Medium stone grey")hasFallen = false