プチメタ3.0

刺激を受けた物事に対する感想や考察、自己成長や資産運用、ゲーム作りに関することなど。


ゲームの背景を無限にスクロールさせる仕組み


アクションゲームやシューティングゲームでは
主人公を画面内にとどめるために
背景の方が逆向きにスクロールすることで
キャラクターが前に進んでいるように見せる表現がよくある。


ステージ全体を表す長い一枚絵なら楽なのだが、
エンドレスにプレイできるゲームの場合は
限りのある背景画像だといずれ端っこが見えてしまう。


その場合は永久に背景が続くよう
いわゆる「無限スクロール」をさせる必要があるが、
これはゲーム開発初心者でも割と簡単に実現できる。




ただし、使用する背景画像には少し制約があり、
スクロールする方向(今回は左右)の両端が
つながるデザインになっていないといけない。




これは画像を連続で並べたときに
境界線がバレてしまうからだ。


端をうまく加工すると区切りがわからないようにできるが、
月や太陽など、繰り返し登場すると不自然なものは
スクロールする背景とは別に表示するなど、
無限スクロールを想定した画像の準備をする。




今回は両端がつながるよう加工した
この背景画像を使って実演してみよう。











まずは背景を進行方向と逆に移動し、
画像1枚分スクロールしたら元の位置までリセットする。


これだと画像が画面から出ていく様子がバレバレで
かなり違和感がある。











しかし背景を2枚並べてみるとどうだろう。


1枚目が移動したあとの空白を2枚目が埋めてくれるし、
2枚目が画面内に収まった瞬間にリセットされるので
1枚目と差し変わったことにも気づかれない。
試しに枠の外を手で隠してみると
画面内は無限にスクロールして見えるのがよくわかる。


縦にスクロールする場合でも同じ仕組みで実現できるので
スコアアタックタイプなどのゲームで重宝する。


フロントライン」でも奥の背景や手前の崖の部分は
同じような方法で処理している。

総アクセス数