"PRG:TN_OL2" プログラム部分です。600行くらい。 公開するにあたって、頑張ってコメント入れてみましたが、途中で力尽きたので後半は不親切でごめんなさい。 バグなどあったら、黙ってそっと 直しておいてください。 |
|
"CHR:TN_OLFNT" テキストのフォントです。 BGFリソースにロードしています。 自機のレーザーもここに描いてます。 |
|
"CHR:TN_OLBG" BGのデータです。 BGU0リソースにロードしています。 最初の4キャラが星、あとは敵のミサイルのデータです。 スプライトを敵機の表示で限界まで使ってしまったので、ミサイルは、4x4のBGを書き換えながらBGOFSでスクロールさせることで実装しました。 パレットは、デフォルトのBG用パレットの0番を使っています。 |
|
"COL:TN_OLCOL" スプライト用カラーパレットデータです。 COL1リソースにロードしています。 主に爆発パターン用で、デフォルトの状態からパレット0のみ変更しています。 |
|
"CHR:TN_OLEN1" 敵1のデータです。 キャラを輪切りにして、8枚のスプライトに描き、ゲーム中はそれを重ねて描画しています。 また、リソースは64x32で作っていますが、ゲームの初期化時に、このデータを一度SPU6にロードした後、64x64になるようにしてSPU0,SPU1に再定義しています。 (それほど大きな意味はないのですが、CHREDでキャラを描くときに1画面で全て見えるほうがやりやすかったので…) スプライト用パレットの2番を使って表示しています。 |
|
"CHR:TN_OLEN2" 敵2のデータです。 敵1と同様、64x32の8枚のスプライトに描いてあり、一度SPU7にロードした後、64x64になるようにしてSPU2,SPU3に再定義しています。 こういう細い形状のキャラは、敵1のような円形のキャラよりも描画が破綻しやすいのですが、旋回がうまく決まったりすると、ダイナミックな動きに見えてかなり格好いいです。 スプライト用パレットの2番を使って表示しています。 |
|
"CHR:TN_OLBM0" 爆発データ(1コマ目〜4コマ目)です。 SPU4にロードしています。 爆発は64x64のスプライトによる16パターンのアニメーションです。 かなり贅沢にリソースを使いました。 スプライト用パレットの0番を使って表示しています。 このあたりでQR取り込みに疲れてきた人は、CHREDで自分で適当に16コマごちゃごちゃ描いてみましょう。結構それっぽく見えます。 |
|
"CHR:TN_OLBM1" 爆発データ(5コマ目〜8コマ目)です。 SPU5にロードしています。 |
|
"CHR:TN_OLBM2" 爆発データ(9コマ目〜12コマ目)です。 SPU6にロードしています。 |
|
"CHR:TN_OLBM3" 爆発データ(13コマ目〜16コマ目)です。 SPU7にロードしています。 |