複数のステートメントを評価する

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Ifステートメントは、コードを実行する前に真である必要のある複数の条件を持つことができます。キーワードandを使用すると、ステートメントを組み合わせることができます。以下のコードは、最初に2プラス2が6に等しいかどうかを評価し、その後に4が6に等しくないかどうかを評価します。両方のステートメントが真であれば、コードは実行されます。


-- 実行されません
if 2 + 2 == 6 and 4 ~= 6 then
print("両方のステートメントが真です")
end
-- 実行されます
if 4 + 2 == 6 and 4 ~= 6 then
print("両方のステートメントが真です")
end

パワーアップを作成する

パワーアップは、プレイヤーに飛行、透明、または速さのような特別な能力を与える体験内アイテムです。このパワーアップは、パワーアップに触れるたびにプレイヤーの歩行速度をブーストします。ブーストを継続的に適用すると、プレイヤーが非常に速くなりすぎる可能性があるため、andを使用して上限の歩行速度を制御します。

パワーアップをセットアップする

このコードを使用して、クリスタル、コイン、または光るネオンオーブなどのシンプルなパーツまたはモデルを作成します。

  1. Powerupという新しいパートを作成し、WalkSpeedManagerという名前のスクリプトを挿入します。

  2. speedBoostという名前の変数を宣言し、スクリプトの親オブジェクトを代入します。


    -- 触れたときに一時的にスピードブーストを与えます
    local speedBoost = script.Parent
  3. onTouchという名前の関数をセットアップし、それを親オブジェクトのTouchedイベントに接続します。次に、プレイテストして作業を確認します。


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("何かがspeedBoostに触れました")
    end
    speedBoost.Touched:Connect(onTouch)
  4. WalkSpeedプロパティはHumanoidオブジェクトにあります。トラップパーツを作成する際に使用したのと同じパターンを使用し、Humanoidオブジェクトをチェックする条件を作成します。

    Humanoidパーツを探します

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    print("Humanoidが見つかりました")
    end
    end

プレイヤーを速くする

スピードブーストは、スピードブーストに触れるたびにアバターを速く歩かせます。これにより、非常に速くなります。キーワードandは、プレイヤーの速度が一定の速度未満である場合のみスピードブーストを有効にすることで、プレイヤーが速くなりすぎないようにします。

  1. Humanoidが見つかった場合、現在のWalkSpeed値に10を加えます。プレイテストを行うと、アバターはスピードブーストに触れるたびに速くなります。

    現在のWalkSpeedを増加させます

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    humanoid.WalkSpeed += 10
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. if文の中で、キーワードandを使用して、現在のWalkSpeed値が50未満であるという2つ目の条件を追加します。ブーストを加えた後、最も速いWalkSpeed値は60になります。

    現在のWalkSpeedが50以下かチェックします

    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    end

スピードブーストを微調整する

onTouchは、スピードブーストに触れるたびに呼び出されます。すべてのステップやわずかなバウンスがTouchedイベントをトリガーし、接続された関数を呼び出します。パーツのプロパティCanTouchを使用すると、Touchedイベントの発火を防ぐことができます。CanTouchを利用して、スピードブーストがアクティブになったときに1秒間オフにします。

  1. ブーストを適用した後、パーツのCanTouchプロパティをfalseに設定します。プレイテストを行い、ブーストが1回のみ適用されることを確認します。

    スピードブーストを無効にします

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. task.wait(1)を使用して、スクリプトを1秒間一時停止し、次にCanTouchをtrueに設定します。プレイテストを行い、スピードブーストが1秒後に再適用できることを確認します。

    完了したスクリプト

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    task.wait(1)
    speedBoost.CanTouch = true
    end
    end
    speedBoost.Touched:Connect(onTouch)
  3. 完成したスクリプト内の値で遊んでみてください。WalkSpeedは最大100まで上昇できます。デフォルトのWalkSpeed値は16です。

まとめ

キーワードandは、0より大きく100未満の値のように、コードチャンクを実行する前に複数の条件を要求するために使用できます。また、Humanoidが存在し、そのWalkSpeedが50以下である場合にも使用できます。

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。