文が実行するコードを前に真にする必要がある複数の要件を持つ場合。キーワード and では、ステートメントを結合できます。次のコードは、2 プラス 2 が 6 であるかどうかを最初に評価し、次に 4 が 6 ではないかどうかを評価します。両方の文が真である場合、コードが実行されます。
-- 実行しませんif 2 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end-- 実行するif 4 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end
パワーアップを作成
パワーアップは、プレイヤーに飛行、透明化、またはスピードなどの特別な能力を与える経験アイテムです。このパワーアップは、パワーアップをタッチするたびにプレイヤーの歩行速度を増加させます。連続してブーストを適用すると、プレイヤーが急すぎてしまうため、and が上の歩行速度制限を制御するために使用されます。
パワーアップを設定する
クリスタル、コイン、または輝くネオンオーブなどの単純なパーツまたはモデルでこのコードを使用します。
新しいパーツ名 パワーアップ を作成し、スクリプト名 WalkSpeedManager を挿入します。
変数 speedBoost を宣言し、スクリプトの親オブジェクトを割り当てる
-- タッチすると一時的なスピードブーストを提供local speedBoost = script.Parent機能名 onTouch を設定し、親オブジェクトの Touched イベントに接続します。その後、ワークをプレイテストしてチェックします。
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Something touched speedBoost")endspeedBoost.Touched:Connect(onTouch)歩行速度プロパティはヒューマノイドオブジェクトに見つかります。トラップパーツを作成するときに使用した同じパターンを使用し、ヒューマノイドオブジェクトをチェックする条件を作成します。
ヒューマノイド部品を検索するlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("A Humanoid was found")endend
プレイヤーのスピードを上げる
スピードブーストは、スピードブーストが触れるたびにアバターがより速く歩くようになります。それはすぐに非常に、非常に速くなります。キーワード and は、プレイヤーが特定の速度以下にある場合、スピードブーストを有効にするだけでプレイヤーが速すぎることができないようにします。
ヒューマノイドが見つかった場合は、現在の WalkSpeed 値を取り、それに 10 を追加します。プレイテストし、アバターはスピードブーストに触れるたびに速くなります。
現在の歩行速度を増加local function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)if 文では、キーワード and を使用して、現在の WalkSpeed 値が 50未満の 2番目の条件を追加します。ブーストを追加した後、最速の WalkSpeed 値は 60 になります。
現在の歩行速度が 50 以下かどうかをチェックしますif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
スピードブーストを微調整する
オンタッチは、スピードブーストが触れるたびに呼び出されます。すべてのステップまたは軽微なバウンスは、タッチイベントをトリガーし、接続された関数を呼び出します。パーツのプロパティ、CanTouch は、タッチイベントの発射を防ぐことができます。CanTouch を活用し、有効になったたびに 1秒ごとにスピードブーストをオフにします。
ブーストを適用した後、パーツの CanTouch プロパティを false に設定します。プレイテストして、ブーストが一度だけ適用されることを確認します。
スピードブーストを無効にするlocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falseendendspeedBoost.Touched:Connect(onTouch)task.wait(1) を使用して、スクリプトを一秒間停止し、CanTouch を true に設定します。プレイテストを行い、1秒後に速度ブーストが再度適用できるかどうかを確認します。
終了したスクリプトlocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falsetask.wait(1)speedBoost.CanTouch = trueendendspeedBoost.Touched:Connect(onTouch)完了したスクリプトの値で遊んでください。WalkSpeed は 100 に上昇できます。デフォルトの WalkSpeed 値は 16 です。
概要
キーワード and は、値が 0 以上 100 以下であるなど、コードチャンクを実行する前に複数の条件を要求する必要があることを指示するために使用できます。または、ヒューマノイドが存在し、その歩行速度が 50 未満または等しい場合。