ゲーム制作

【RPGツクールMV】条件分岐で複数の条件をスクリプトで判定する方法

【RPGツクールMV】複数の条件をスクリプトで判定する方法 ゲーム制作
スポンサーリンク
ゴス丸
ゴス丸

複数の条件をまとめて判定するスクリプトはあるの?

ドラ男
ドラ男

あるぞ。&& や || を使えば、

複数の条件を組み合わせて判定できるぞ。

RPGツクールMVでは、条件分岐の「スクリプト」を使用することで、複数の条件をまとめて判定できます。

例えば、「変数10が100以上で、スイッチ5がONの場合」や、「変数10が10以下、または変数11が20以上の場合」といった条件を設定できます。

この記事では、複数の条件をスクリプトで判定する方法を解説します。

スポンサーリンク

1. すべての条件を満たしているか判定する

複数の条件をすべて満たしている場合に処理を実行したいときは、&& を使用します。

例えば、次の2つの条件を判定する場合です。

  • 変数10が100以上
  • 変数11が50以上

条件分岐の「スクリプト」に、次のコードを入力してください。

$gameVariables.value(10) >= 100 &&
$gameVariables.value(11) >= 50

このスクリプトでは、変数10が100以上で、かつ変数11が50以上の場合に条件を満たします。

どちらか一方でも条件を満たしていない場合は、条件を満たしません。

1

&& とは?

&& は、複数の条件をすべて満たしているか判定するための演算子です。

例えば、変数10が120、変数11が60の場合は、どちらの条件も満たしているため、判定結果は true になります。

一方、変数10が120、変数11が40の場合は、変数11の条件を満たしていないため、判定結果は false になります。

2. どれか1つでも条件を満たしているか判定する

複数の条件のうち、どれか1つでも満たしていれば処理を実行したい場合は、|| を使用します。

例えば、次の2つの条件を判定する場合です。

  • 変数10が100以上
  • 変数11が50以上

条件分岐の「スクリプト」に、次のコードを入力してください。

$gameVariables.value(10) >= 100 ||
$gameVariables.value(11) >= 50

このスクリプトでは、変数10が100以上、または変数11が50以上の場合に条件を満たします。

どちらか一方の条件を満たしていれば、判定結果は true になります。

2

|| とは?

|| は、複数の条件のうち、少なくとも1つを満たしているか判定するための演算子です。

例えば、変数10が120、変数11が30の場合、変数10の条件を満たしているため、判定結果は true になります。

反対に、変数10が80、変数11が30の場合は、どちらの条件も満たしていないため、判定結果は false になります。

3. 条件を3つ以上組み合わせる

&& や || は、3つ以上の条件を組み合わせる場合にも使用できます。

例えば、次の3つの条件をすべて満たしているか判定する場合です。

  • 変数10が100以上
  • 変数11が50以上
  • スイッチ5がON

次のスクリプトを使用してください。

$gameVariables.value(10) >= 100 &&
$gameVariables.value(11) >= 50 &&
$gameSwitches.value(5)

このスクリプトでは、変数10と変数11の条件を満たし、さらにスイッチ5がONの場合に条件を満たします。

スイッチの状態は、$gameSwitches.value(スイッチ番号) で取得できます。

スイッチ5がONの場合は true、OFFの場合は false になります。

4. && と || を組み合わせる

&& と || を組み合わせることで、より複雑な条件も判定できます。

例えば、次の条件を考えます。

  • 変数10が100以上
  • 変数11が50以上、またはスイッチ5がON

この場合は、次のように記述します。

$gameVariables.value(10) >= 100 &&
(
    $gameVariables.value(11) >= 50 ||
    $gameSwitches.value(5)
)

このスクリプトでは、変数10が100以上であることに加えて、変数11が50以上、またはスイッチ5がONのどちらかを満たす必要があります。

括弧 () を使用することで、どの条件をまとめて判定するのかを明確にできます。

例えば、変数10が120、変数11が30、スイッチ5がONの場合は、条件を満たします。

一方、変数10が80の場合は、ほかの条件を満たしていても条件を満たしません。

5. 条件を満たしていない場合を判定する

条件を満たしていない場合に処理を実行したいときは、! を使用できます。

例えば、スイッチ5がOFFの場合を判定するには、次のように記述します。

!$gameSwitches.value(5)

スイッチ5がOFFの場合は true、ONの場合は false になります。

変数の条件と組み合わせることもできます。

例えば、変数10が100未満で、スイッチ5がOFFの場合を判定するには、次のように記述します。

$gameVariables.value(10) < 100 &&
!$gameSwitches.value(5)

このように、条件を反転させることで、特定の条件を満たしていない場合も判定できます。

6. 使用する際の注意点

複数の条件をスクリプトで判定する場合は、次の点に注意してください。

  • && は、すべての条件を満たしている場合に true になります。
  • || は、どれか1つでも条件を満たしている場合に true になります。
  • ! は、条件の判定結果を反転させます。
  • && と || を組み合わせる場合は、必要に応じて括弧 () を使用してください。
  • 条件分岐の「スクリプト」には、判定したい条件式を入力してください。

以上が、複数の条件をスクリプトで判定する方法です。

変数やスイッチを組み合わせることで、ゲームの進行状況やキャラクターの状態に応じた、さまざまな条件分岐を作成できます。

ゴス丸
ゴス丸

RPGツクールMVの仕様で条件分岐のスクリプトは

1行で書かないといけないけど、

コンパクトにイベントを作れるよ!

コメント