ゲーム制作

【RPGツクールMV】スイッチの状態を取得するスクリプト

【RPGツクールMV】スイッチの状態を取得するスクリプト ゲーム制作
スポンサーリンク
ゴス丸
ゴス丸

スクリプトでスイッチがONかOFFかを調べる方法はあるの?

ドラ男
ドラ男

あるぞ。$gameSwitches.value() を使えば、

指定したスイッチの状態を取得できるぞ。

RPGツクールMVでは、スクリプトを使用することで、指定したスイッチがONになっているか、OFFになっているかを判定できます。

例えば、「スイッチ10がONの場合」や「スイッチ10がOFFの場合」といった条件を設定できます。

この記事では、スイッチの状態を取得するスクリプトと、その具体的な使い方を解説します。

スポンサーリンク

1. スイッチの状態を取得する

スイッチの状態を取得するには、次のスクリプトを使用します。

$gameSwitches.value(10)

このスクリプトでは、スイッチID10の状態を取得します。

スイッチがONの場合は true、OFFの場合は false が返されます。

スイッチの状態 取得結果
ON true
OFF false

スイッチIDを変更すれば、ほかのスイッチの状態も取得できます。

例えば、スイッチID5の状態を取得したい場合は、次のように記述します。

$gameSwitches.value(5)

2. スイッチがONかどうか判定する

指定したスイッチがONの場合に処理を実行したいときは、次のスクリプトを使用します。

例えば、スイッチID10がONになっているか判定する場合です。

$gameSwitches.value(10)

このスクリプトは、スイッチID10がONの場合に true になります。

イベントコマンド「条件分岐」の「スクリプト」に入力すれば、スイッチの状態に応じて処理を分岐できます。

1

使用例

  • スイッチがONの場合にイベントを実行する
  • 特定のイベントをクリアした後だけ処理を実行する
  • 特定の機能が有効になっている場合だけ処理を実行する

3. スイッチがOFFかどうか判定する

指定したスイッチがOFFの場合に処理を実行したいときは、! を使用します。

例えば、スイッチID10がOFFになっているか判定する場合です。

!$gameSwitches.value(10)

このスクリプトは、スイッチID10がOFFの場合に true になります。

反対に、スイッチID10がONの場合は false になります。

2

スクリプト 条件を満たす状態
$gameSwitches.value(10) スイッチID10がON
!$gameSwitches.value(10) スイッチID10がOFF

! は、条件の判定結果を反転させるための演算子です。

4. 複数のスイッチの状態を判定する

複数のスイッチを組み合わせて判定することもできます。

2つのスイッチが両方ONの場合

スイッチID10とスイッチID11が、どちらもONの場合に条件を満たすスクリプトです。

$gameSwitches.value(10) &&
$gameSwitches.value(11)

&& を使用することで、両方のスイッチがONになっているか判定できます。

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

どちらか一方のスイッチがONの場合

スイッチID10またはスイッチID11の、少なくとも一方がONの場合に条件を満たすスクリプトです。

$gameSwitches.value(10) ||
$gameSwitches.value(11)

|| を使用することで、どちらか一方でもONになっているか判定できます。

5. スイッチの状態を変数に代入する

スイッチの状態を数値として変数に代入したい場合は、次のスクリプトを使用します。

$gameVariables.setValue(20, $gameSwitches.value(10) ? 1 : 0);

この例では、スイッチID10の状態を取得し、変数ID20に数値を代入します。

スイッチID10の状態 変数ID20の値
ON 1
OFF 0

? 1 : 0 は、条件が成立していれば 1、成立していなければ 0 を返す書き方です。

ただし、スイッチの状態を条件分岐で判定するだけなら、変数に代入する必要はありません。

6. 使用する際の注意点

スイッチの状態をスクリプトで取得する場合は、次の点に注意してください。

  • $gameSwitches.value(スイッチID) で指定したスイッチの状態を取得できます。
  • スイッチがONの場合は true、OFFの場合は false が返されます。
  • ! を付けると、ONとOFFの判定を反転できます。
  • && や || を使えば、複数のスイッチの状態を組み合わせて判定できます。
  • スイッチIDには、状態を確認したいスイッチの番号を指定してください。

以上が、スイッチの状態を取得するスクリプトです。

スイッチの状態を取得できるようになると、ゲームの進行状況やイベントの実行条件などを、スクリプトで柔軟に判定できるようになります。

コメント