ゲームセカイ
ゲームセカイ

ゲーム攻略やプレイ日記、レビューがメインのブログです。

はじめてゲームプログラミング 「乗ると動き出す床」を作る方法

『つくってわかる はじめてゲームプログラミング』で、「乗ると動き出す床」を作る方法についてのメモです。

アクションゲームでよく見かける「動く床」は、「スライドれんけつ」と「カウンター」を組み合わせることで、意外と簡単に作れます。

さらに「センサー」を併用すれば、キャラクターが乗ると動き始める仕組みも追加できます。

はじめてゲームプログラミング 動く床

「動く床」の基本的な作り方

今回は、「れんけつパーツ」の「スライドれんけつ」を使用して、左右に動く床を作成してみます。

「ヒトノードン」や「カメラ」の基本操作に関しては、省略します。
 

まず、プログラム画面で、「直方体」を2個と、「Xスライド」を用意しましょう。

    用意するノードン      分類 
直方体 モノ
Xスライド モノ

 
「直方体」の一つは、「動く床」として使用するので、「ヒト」が乗りやすい大きさに変えておきます。

設定画面を開き、「ふるまい」の「見える・当たる・動く」だけを、ONに。

「れんけつ面」は「中央・中央」に変更して、「Xスライド」の「上の連結ポート」と連結します。

はじめてゲームプログラミング Xスライド 動く床

もう一方の「直方体」は、「動く床」の起点用なので、床を動作させたい場所に設置します。

形状よりも、「位置」と「動かない」ことが重要で、実際は、「球」や「円柱」を使用しても問題ありません。

こちらの「ふるまい」は、全項目をOFFにして、「Xスライド」の「下の連結ポート」と連結します。
 

これで、「直方体」を、X方向(左右)にのみ、動かせるようになりました。

次に、「カウンターノードン」と「定数ノードン」を、プログラム画面に追加します。

    追加するノードン      分類 
カウンター 中間
定数 入力

 
「定数」を、「カウンター」の「増やす」ポートに接続。

続いて、「カウンター」の出力を、「Xスライド」の入力ポートに繋げます。

はじめてゲームプログラミング カウンター 動く床

さらに、「カウンター」の設定画面を開いて、「モード」を「おうふく」に変更しましょう。

「カウントはんい」は、最小値:0、最大値:10 に設定します。

はじめてゲームプログラミング カウンター 設定

これで、「カウンター」の値は、0 → 10 → 0 → 10… と、増減を繰り返します。

この値が「Xスライド」に出力されると、「動く床」が、0m〜10mの位置で、左右を往復するようになります。
 

ただし、現状では、カウントのペースが早すぎるため、ゲーム画面で確認すると、床が激しく横移動する状態になっているはずです。

「定数」の値を、0.02程度に変更すると、動きが落ち着きます。

これで、「動く床」の基本的な動作が、完成しました。

「動く床」に「乗ると動く仕組み」を追加する方法

現在の「動く床」は、ゲーム開始直後から動作を始めるので、センサーを使用して、「ヒト」が乗ってから動き出す仕組みを追加します。

プログラム画面で、「さわっているセンサー」と、「けいさん」の「×」を呼び出しましょう。

    追加するノードン      分類 
さわっているセンサー モノ
けいさん(×) 中間

 
「さわっているセンサー」は、「動く床」の「直方体」に連結させます。

センサーの形は「直方体」、「れんけつ面」は「自分:Y- 連結先:Y+」 の設定です。

また、「何をチェックする?」で、「ヒト」を選択しておきます。

はじめてゲームプログラミング 動く床 センサー

ここで、「定数」と「カウンター」の接続を解除し、その間に「けいさん (×)」を挟みます。

先ほど設置した「さわっているセンサー」の出力と、「けいさん (×)」の入力ポートを接続。

「定数」も、「けいさん (×)」の、もう一方の入力ポートへ繋げます。
 

そして、「けいさん (×)」の出力を、「カウンター」の「増やす」ポートに接続すれば、センサーの反応が「動く床」に伝わります。
 

「さわっているセンサー」は、何もなければ「0」を、チェック中の「モノ」が触れている時は「1」を出力します。

「ヒト」が床に乗って「さわっているセンサー」に触れると、センサーの出力と「定数」の計算結果 (1 × 0.02= 0.02)が、「カウンター」に送られる仕組みです。

はじめてゲームプログラミング 動く床 センサー

センサーの大きさによっては、「ヒト」が「動く床」に乗る前に反応してしまうため、床よりも少し小さめに調整した方が、それっぽい動作に見えるかもしれません。

センサーは、「ふるまい」の「見える」をOFFにしても機能は変わらないので、ゲーム中は非表示でOKです。

「動き続ける仕組み」の追加方法

現状は、センサーが反応している間だけ「床」が動く仕組みになっているので、「ヒト」が離れても動き続けるように修正します。

プログラム画面に、「フラグノードン」を追加しましょう。

    追加するノードン      分類 
フラグ 中間

 
「さわっているセンサー」と「けいさん (×)」の接続を解除し、「フラグ」の「オン」を中継するように繋ぎ直します。

はじめてゲームプログラミング 動く床 フラグ

「フラグ」は、「オン」ポートに「0以外」が入力されると、「オフ」ポートに「0以外」が入力されるまで、「1」の出力を続けます。

一度センサーが反応した後は、「フラグ」が「1」の送信を継続するため、「ヒト」が「さわっているセンサー」から離れても、「動く床」の動作が止まらないようになりました。
 

今回は、センサーで「動く床」が動作するように作りましたが、敵を倒す、アイテムを取るなど、「フラグ」をONにする条件を変えることで、色々な応用が可能です。

スポンサーリンク