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になる

Dreams Universe(アーリーアクセス版) の記事です。製品版には適用できない可能性があるのでご注意ください。

Dreams Universe 一覧に戻る

Dreams Universe
制限ゲート

 今回の記事は、制限ゲートについてゼロから説明するような口ぶりで書かれている部分もありますが、実際は …

Dreams Universe
Door Helper

 ギミック/ロジックシステム。「Single」「double」「Slide」の3パターン。 概要   …

Dreams Universe
ペイントが置き去りになる時の対処法

 ペイントやペイントアニメーションで作ったエフェクトについて、オブジェクトとグループ化して、ゲーム中 …