ループするスイッチの作り方【はじめてゲームプログラミング】

ボタンを押すたびに1つ次の状態に切り替わるスイッチを作ってみます。

 

用意するもの

  • 任意のボタン(スイッチのトリガーになります)
  • カウンター×1
  • マッピング×1(状態が3つ以上なら必要)
  • 動くマーカー×1
  • スポイト×切り替えたい状態の数

繋ぎ方

f:id:sadala:20210927114507p:plain

 

ボタンの出力をカウンターの増やすへつなぐ

f:id:sadala:20210927114619p:plain

カウンターの設定をループに変更

f:id:sadala:20210927114845p:plain

一方通行なら範囲制限にしてください。

ループ設定の場合、範囲の最大の数字(ここでは4)が最小の数字(ここでは0)に置き換えられます。なので範囲は0~4ですが、今回の状態の数は{0,1,2,3}の4つです。

カウンターの出力をマッピングにつなぐ

f:id:sadala:20210927114948p:plain

遷移する状態が2つならマッピングノードンは必要ありません。カウンターの出力を動くマーカーに直接つないでください。

マッピングノードンの設定

f:id:sadala:20210927115006p:plain

入力範囲はカウンターのループする範囲に合わせます。(今回は0〜3)

出力範囲は0から1です。

www.sadalablog.com

マッピングの出力を動くマーカーにつなぐ

f:id:sadala:20210927115108p:plain

動くマーカーは0〜1の入力に対応した位置に正方形のマーカーがでてくるので、後でスポイトを4つ並べられるような形にしておきます。

ガレージ上でボタンを押すとマーカーの位置が変わり、しっかりとループすることを確認してください。

動くマーカーに重なるようにスポイトを置き完成

f:id:sadala:20210927115155p:plain

f:id:sadala:20210927115222p:plain

スポイトノードンが0~3のマーカーをそれぞれスポイトできるように配置して完成です。

スポイトノードンの出力を適当につないで試してみましょう。

f:id:sadala:20210927115249p:plain

今回はボタンを押すたびに状態が切り替わるように作りましたが、カウンターの入力は自由です。

「短い対戦ゲームなどでスコアは残したいけどゲームはリセットしたい」といったときにも使えるかと思います。

例「1.ゲームの準備段階」「2.ゲーム中」「3.ゲーム終了して準備に戻る」でループさせる。

www.sadalablog.com