ONとOFFを切り替える

操作メモ

 今回のテーマはONとOFFのフラグを切り替えること。

 ゲームを作ろうとする時、たとえば「カギを持っている/持っていない」とか、「ボスを倒した/倒していない」という風に、2つの処理を分岐させることが多いと思います。これらの分岐は「条件を満たしている(ON)、満たしていない(OFF)」というイメージをすると作りやすいです。

 Dreamsでのやり方はいろいろあるので好きに作って良いのですが、筆者が簡単だと思える方法を紹介します。

「カウンター」ガジェット

黄色の左側。簡単便利なガジェットです。
  • カウントアップ/ダウンするガジェット。目標値に達したかどうかを検出できる。
  • 目標値に達している間、シグナルを送信し続ける

 カウンターを使って、目標値に達していなければOFF、達したならONとして扱います。デフォルトの目標値は1ですので、設置すればすぐに0/1のフラグとして使えます。
  フラグオンにしたいならカウントアップ、フラグオフにしたいならカウンタリセットです。

 オンの場合の処理は「カウント完了」アウトプットからやりたい処理にワイヤーをつなぎます。

 オフの場合の処理は「カウント完了」アウトプットから「NOTゲート」を経由して、やりたい処理にワイヤーをつなぎます。

イメージ図

 画像はあくまでイメージです。たとえば「ONの間実行する処理」から、カウンタリセットまでワイヤーを引っ張ることもあるでしょう。なんならカウンタリセットしないケースもあるでしょう。

 カウント完了のシグナルは、カウンタリセットや電源OFFされない限り送信され続けることを意識して使いましょう。

小ネタ:同じシグナルでON/OFFを切り替える

 1回目のシグナルでONになって、2回目のシグナルでOFFになる、という仕掛けを作ってみましょう。この場合、カウンターガジェットとカルキュレーターガジェットを使うと簡単です。

  • カウンターの目標値を2にする。
  • カウンターが完了したらリセットする。
  • カルキュレーターを通して、 進捗度が0.5ならONとする。( 現在の値が1 かどうかを判定してもOK)
例)△ボタンを1回押すとON、2回押すとOFFになる

 FPSなんかで立ち状態としゃがみ状態を切り替えるような時にはこの形がそのまま使えます。

Dreams Universe 一覧に戻る

Dreams Universe
XYZ軸をキッチリ移動させる

 3D制作環境ではX/Y/Z軸の座標を扱います。編集の際には対象物を真正面から捉えたり真上から捉えた …

Dreams Universe
エミッターを使ったエレメント作品の注意点

 今回ご紹介するのはエミッターを使ったエレメント作品の注意点です。 注意点を簡単に言うと、スタンプし …

Dreams Universe
ダイアログ表示マシン

 今回のテーマはダイアログ表示マシンです。選択肢を表示するだけのガジェットではありますが、つまずくか …