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

*このコンテンツは、ベータ版の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は、米国並びにその他の国における登録商標および非登録商標です。