平面の彼方に?
(表示されるデータが違っている場合は「init all」としてください)

メモリージャグラーをお持ちの方は、ここで使用しているソースをダウンロードして使用できます。
スプライト使用の学習も兼ねて、2D表示のゲームを作ってみました。
公式BBSをご覧の方はお気づきかもしれませんが、これはそこで募集(?)されていた「早撃ちバキューン」タイプのゲームの発展案として出していたのを更にアレンジしたものです。
ちょっとここに置いた画面図では暗くて見づらいですが、赤と青の枠が表示されています。

平面の彼方を目指すにはスクロール、というわけでスクロールサンプルを作ってみました。
マップデータを読み込んで(290行以降)、それぞれをスプライトに定義(900行付近)しています。そしてメインループ内でsprposによりスプライトを移動(210行付近)させて縦スクロールを実現しています。データは文字列にして入れ込んであり、アルファベットの区別でパターンを仕分け(400行以降)しています。
しかし最初で全部のマップを定義してそれを繰り返し回しているだけなので、小さなマップにしか使えないという弱点があります。だからあまりお勧めできる手法ではないです(汗)。
140行のcmaxを大きくすると、スピードがゆっくりになります。ゆっくりというかガタガタという感じですが。

このサンプルパターンを扱ってて思ったんですが、このあたりの「縦シューティング用」とされているサンプルは、単色系パレットしか用意されてないんですかね? どうもうまく合致する多色系パレットが見あたらないようで…? まあコレはコレで渋くて味があると言えなくもないですが。
スクロールサンプルの続きです。
同じサンプルテクスチャ内にあると使いたくなるもので、敵戦闘機みたいなイメージで入れてみました。
画面図で灰色っぽくチラチラしているのが飛行機です。
ついでに背景色を変えたりちょっと地形やスクロール速度も変えたりしています。
ソースの追加事項はほとんど飛行機関連ですが、1380行以降で左右に逸れる動きをつけています。斜めに向いたパターンがあるのでsprtexで切り替えています。
スクロール部分の左右に黒い矩形を置いて(990行以降)、画面から外れる飛行機を隠しています。

少しは雰囲気らしいモノも出てきましたでしょうか。本格的なシューティングなら敵キャラごとに動きのパターンが異なったり編隊飛行してたりするんでしょうが…
さらに続くスクロールサンプル。
ここまできたらもうゲームとしての体裁を一応でも整えておかないと夢見が悪そうなので、とりあえずゲームらしくしてみました。
同じところをぐるぐる回るだけで敵も代わり映えしませんが。
それでもいちおう敵のスピードがだんだん速くなったり(2410行)あるいは時折速いのが混じったり(1360行)していて、変化がないわけではありません。

妙に手こずってしまったもので、あちこち記述が汚かったり余計なモノが残ってたりするかもしれません。
…って、思いっきりデバッグ用の表示(の痕跡)がソース上に残ってたので削除しました。やっぱり半分寝ぼけた状態でやるもんじゃないですねー。

トップへ