複数の文を評価する

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

文が実行するコードを前に真にする必要がある複数の要件を持つ場合。キーワード and では、ステートメントを結合できます。次のコードは、2 プラス 2 が 6 であるかどうかを最初に評価し、次に 4 が 6 ではないかどうかを評価します。両方の文が真である場合、コードが実行されます。


-- 実行しません
if 2 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end
-- 実行する
if 4 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end

パワーアップを作成

パワーアップは、プレイヤーに飛行、透明化、またはスピードなどの特別な能力を与える経験アイテムです。このパワーアップは、パワーアップをタッチするたびにプレイヤーの歩行速度を増加させます。連続してブーストを適用すると、プレイヤーが急すぎてしまうため、and が上の歩行速度制限を制御するために使用されます。

パワーアップを設定する

クリスタル、コイン、または輝くネオンオーブなどの単純なパーツまたはモデルでこのコードを使用します。

  1. 新しいパーツ名 パワーアップ を作成し、スクリプト名 WalkSpeedManager を挿入します。

  2. 変数 speedBoost を宣言し、スクリプトの親オブジェクトを割り当てる


    -- タッチすると一時的なスピードブーストを提供
    local speedBoost = script.Parent
  3. 機能名 onTouch を設定し、親オブジェクトの Touched イベントに接続します。その後、ワークをプレイテストしてチェックします。


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("Something touched speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. 歩行速度プロパティはヒューマノイドオブジェクトに見つかります。トラップパーツを作成するときに使用した同じパターンを使用し、ヒューマノイドオブジェクトをチェックする条件を作成します。

    ヒューマノイド部品を検索する

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    print("A Humanoid was found")
    end
    end

プレイヤーのスピードを上げる

スピードブーストは、スピードブーストが触れるたびにアバターがより速く歩くようになります。それはすぐに非常に、非常に速くなります。キーワード and は、プレイヤーが特定の速度以下にある場合、スピードブーストを有効にするだけでプレイヤーが速すぎることができないようにします。

  1. ヒューマノイドが見つかった場合は、現在の WalkSpeed 値を取り、それに 10 を追加します。プレイテストし、アバターはスピードブーストに触れるたびに速くなります。

    現在の歩行速度を増加

    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 になります。

    現在の歩行速度が 50 以下かどうかをチェックします

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

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

オンタッチは、スピードブーストが触れるたびに呼び出されます。すべてのステップまたは軽微なバウンスは、タッチイベントをトリガーし、接続された関数を呼び出します。パーツのプロパティ、CanTouch は、タッチイベントの発射を防ぐことができます。CanTouch を活用し、有効になったたびに 1秒ごとにスピードブーストをオフにします。

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

    スピードブーストを無効にする

    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) を使用して、スクリプトを一秒間停止し、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 以下であるなど、コードチャンクを実行する前に複数の条件を要求する必要があることを指示するために使用できます。または、ヒューマノイドが存在し、その歩行速度が 50 未満または等しい場合。