本記事は『ナビつき!つくってわかる はじめてゲームプログラミング』ノードンガイド「ゲーム画面をスクロールさせるしくみ」内容まとめです。ゲーム画面の外にいるモノを映すために、設定から画面の位置をズラす方法と、自動スクロースの仕組みを解説しています。
ゲーム画面をズラす・動かす
追加条件:レッスン3のステップ4
登場する主なノードン | |||
---|---|---|---|
ゲーム画面 | マッピング | 定数 | カウンター |
ゲーム画面の端にヒトが映りこんでいます。対象を真ん中に映す方法は「ゲーム画面ノードンのおシゴト」でもやりましたが、今回は、ゲーム画面ノードンを動かさずに、ヒトを真ん中に映す方法をやってみます。
- 定数ノードンを呼び出し設定→5.00にする
- 定数ノードンをゲーム画面ノードンのXポートにつなぐ
ゲーム画面ノードンのXポートに入力があると、入力された数だけ、X方向にゲーム画面をズラすことができます。定数ノードンは5.00を出力しているため、ゲーム画面ノードンはX方向に5.00mずれた場所を映すようになります。
見切れていたヒトがバッチリ真ん中に映りましたね。X方向にまだ何かモノがあるようです。ヒヨコの見た目のオシャレなモノノードン。今度はこのヒヨコをセンターに映してみましょう。
- Lの左右のスティックノードンを呼び出す
- マッピングノードンを呼び出す
- マッピングの設定→入力はんいは0.00~1.00、出力はんいは0.00~10.00
- スティックノードンとマッピングノードンをつなぐ
- マッピングノードンとゲーム画面ノードンをつなぐ
Lスティックで画面をX方向に動かせるようになりました。
スティックノードンを直接ゲーム画面ノードンにつなぐと、最大でも1.00しか出力しないので、間にマッピングノードンを挟んでいます。
マッピングノードンは入力された数字を、別の数字に変換して出力するノードンです。マッピングノードンの設定は、入力範囲が0.00~1.00、出力範囲が0.00~10.00。これは入力された0.00~1.00の数を、0.00~10.00も変換して出力するというものです。
- 1.00が入力されると10.00を出力
- 0.50が入力されると5.00を出力
- 0.00が入力されるとそのまま0.00を出力
つまり、スティックノードンが1.00を出力する時、マッピングノードンが数を10.00に変換します。そのため、ゲーム画面はX方向に10.00mズレるようになったというわけなんですね。
ヒヨコがセンターに映りました。右側にまだ何かモノがあるようです。
自動スクロールする
ゲーム画面の外に何がいるか確認するため、右方向に自動スクロールする仕組みを作りましょう。使用するのは、定数ノードン、カウンターノードン、マッピングノードンの3体です。
- 1の定数ノードンをカウンターノードンにつなぐ
- カウンターノードンをマッピングノードンにつなぐ
- マッピングの設定→入力はんい0.00~60.00、出力はんい0.00~2.00
- マッピングノードンをゲーム画面ノードンのXポートにつなぐ
定数ノードンが数を入力し続けるため、カウンターノードンの数は1秒間に60回のペースで増えていきます。マッピングノードンの設定は入力範囲0.00~60.00、出力範囲0.00~2.00。カウンターノードンが増やす1秒間に60という数を、2に変換して出力します。
つまり1秒間に2ずつ増える数字が、ゲーム画面ノードンのXポートに入力されます。
1秒間に2.00mずつX方向に移動する自動スクロールの完成というわけです。
最後に
最後にゲーム画面をスクロールさせるしくみの要点をまとめておしまいです。
- ゲーム画面ノードンを動かさずにゲーム画面を横に移動させるなら、定数ノードンをゲーム画面ノードンのXポートにつなぐ
- スティック操作で画面を横に動かすなら、スティックノードンをゲーム画面ノードンのXポートにつなぐ
- スティックで動かせる範囲を広げるなら、2体の間にマッピングノードンを間に挟む
- 画面を自動スクロールさせるなら、定数ノードン、カウンターノードン、マッピングノードンを使い、マッピングノードンをゲーム画面ノードンのXポートにつなぐ
ゲーム画面を動かす方法はいろいろあります。自分が作りたいゲームに合った仕組みを取り入れてみてください。
以上、ノードンガイド「ゲーム画面をスクロールさせるしくみ」の解説でした。
ノードンガイドの一覧はこちら。
本記事に使用しているゲーム画像や著作権および商標権、その他知的財産権は、当該コンテンツの提供元に帰属します。© Nintendo
コメント