条件分岐

もくじ


条件分岐とは?

何らかの条件をもとに、実行する処理を分けることを「条件分岐」と呼びます。
ステージデザイナーでは、「もし〜なら次の処理を実行しなさい」という役割を持つ条件分岐コマンドを
持っています。このコマンドを使えば、たとえば
  • スイッチが押されていれば扉をひらく
  • 1度開いた宝箱は開きっぱなしにしておく
といったような動作をさせることができます。


条件分岐を使う


(クリックで拡大)

条件分岐は、イベントコマンド選択ツリー内の「フロー制御」→「条件分岐セット」内のコマンドを使用します。(上図赤枠内のコマンド)
はじめに「条件分岐」コマンドを使って、実行条件を設定します。(上図行番号0部分)
そのすぐ下に、条件が成立したときに実行したいイベントコマンドを幾つか並べます。
さいごに、「条件分岐終了点」コマンドを使用して条件分岐を終了します。
※条件分岐終了点コマンドを置くのを忘れないように気を付けてください。

配置例が上図の青枠部分になります。この場合、
・実行条件が成立した場合:行番号1のコマンドが実行される。
・実行条件が成立しなかった場合:行番号3まで処理を読み飛ばす(その間の処理は実行しない)。
という流れになります。

bar.png(864 byte)

条件分岐の設定方法
追加した条件分岐イベントコマンドを選択し、イベントパラメータ設定部分の下方に表示される「設定する」ボタンを押すと、以下のような
設定ダイアログボックスが表示されます。

条件分岐イベントは、上記ダイアログの「比較対象1」と「比較対象2」の関係を「比較演算子」を用いて比較し、処理を分岐させます。
たとえば、上図のダイアログの設定内容は、「比較対象1に設定されたデータアイテム”初期位置X”が”2”と等しいときに処理を実行する」
という意味になります。

比較対象1によって、使用できる「比較対象2」も変わります。たとえば、比較対象1に「押されたキー」(現在押されているキー情報)を
設定したときには、比較対象2にはキーを設定することになります。
また、比較対象によって使用できる比較演算子も変わってきます。

以下に、使用できる比較対象を挙げます。
比較対象名称 内容
整数値 比較対象として整数値を入力します。
整数値(データベース参照) 選択したデータアイテムに格納されている整数値を比較対象とします。
(「設定する」ボタンにて使用するデータアイテムを設定してください。)
押されたキー 実行時に押されているキーを比較対象とします。
(押されているキーによって処理を分岐させたいときに有効な比較対象です。)
ランダムな整数値 ランダムな整数値を比較対象とします。
「設定する」ボタンにてランダム値の上限と下限を入力してください。
あたり判定オブジェクト 実行時にあたり判定されたオブジェクトを比較対象とします。
オブジェクト 指定されたオブジェクトを比較対象とします。
(上記の「あたり判定オブジェクト」といっしょに使用することが多いです。)
オブジェクト(データベース参照) 指定のオブジェクト種別データアイテムに設定されたオブジェクトを比較対象とします。
(上記の「あたり判定オブジェクト」といっしょに使用することが多いです。)
実行時に判定された自身のあたり判定矩形 実行時に判定された自身のあたり判定矩形を比較対象とします。
あたり判定配置オブジェクト 「自身の配置オブジェクトとあたり判定された配置オブジェクト」を比較対象とします。
配置オブジェクト(データベース参照) 指定された配置オブジェクトデータアイテム内の配置オブジェクトを比較対象とします。
(上記「あたり判定配置オブジェクト」と一緒に使用することが多いです。)
あたり判定配置オブジェクトの識別タグ あたり判定された配置オブジェクトの識別タグを比較対象とします。

以下に、使用できる比較演算子を挙げます。
比較演算子名称 内容
と等しい 比較対象1と比較対象2が等しいときに処理を条件分岐内のイベントを実行します。
より大きい 比較対象1が比較対象2より大きいときに処理を条件分岐内のイベントを実行します。
より小さい 比較対象がと比較対象2より小さいときに処理を条件分岐内のイベントを実行します。
と等しくない 比較対象1と比較対象2が等しくないときに処理を条件分岐内のイベントを実行します。
以上 比較対象1が比較対象2以上のときに処理を条件分岐内のイベントを実行します。
以下 比較対象1が比較対象2以下のときに処理を条件分岐内のイベントを実行します。


「そのほかに」「いずれにも当てはまらない場合」コマンド

条件分岐には、「そのほかに」機能を使って多分岐の処理を作成することができます。

上図では、行番号2で「条件分岐(そのほかに)」イベントコマンドを、行番号4で「条件分岐(いずれにも当てはまらない場合)」イベントコマンドが
配置されています。

この場合、
・行番号0の条件が成立したら、行番号1の処理を実行し、実行位置が行番号2に移動した瞬間に行番号6へ実行位置を移動
・行番号0の条件が成立せず、行番号2の条件が成立したら、行番号3の処理を実行し、実行位置が行番号4に移動した瞬間に行番号6へ実行位置を移動
・魚番号0、行番号2の条件も成立しなかったら、行番号5の処理を実行
といいう流れになります。