SFXVIではキャラクタを表示するために、スプライトを何枚か組み合わせたDSPと呼ばれるものを用いています。
よって、キャラクタの表示には、X680x0のスプライト機能の制約をうけます。
まず、スプライトとは何かということですが、日本語に直せば妖精といった意味になります。
この言葉が示す通り、画面上を自由に動きまわれるグラフィックデータのことです。
スプライトはハードウェアの機能で実現されるため、制限や限界などがありますが、
その分高速です。MPU速度では取り残された感のあるX680x0でも、
アクション系ゲームではかなりのものがつくれるのはスプライトのおかげです。
SFXVIがあるのもスプライトがあればこそというものです。
スプライト表示の原理ですが、スプライトに表示するためのグラフィックデータはPCG領域というところに用意します。
用意したら、あとは表示したいグラフィックの番号を指定するだけで、画面上の任意の位置にスプライトを表示出来ます。
表示はすべてハードウェアの機能でおこなわれるため非常に高速です。パターンの垂直水平反転も簡単です。
X680x0では出来ませんが、回転拡大縮小も可能なマシンもあります。
(反転機能を回転機能と称しているマシンもありますから注意。
平面のポリゴンにテクスチャマッピングを施して疑似的にスプライトとして扱っているマシンもあります)
表示中のスプライトが使用しているPCGを書き換えると、
同時に表示中スプライトのグラフィックも書き変わります。
この辺がスプライトならではの機能です。同じPCG番号を使用しているスプライト全てが書き変わるのです。
PCG領域が足りない時や、スプライトアニメーションの時に有効です。
スプライトはパレットについてもPCGパターンと同様な扱いをすることが出来ます。
ファミコン(TMは特に省く)のゲームで形は一緒で色だけ違うキャラクタというのは、
よく見かけると思います。これはパレットブロックを換えているからです。
パレットブロックは普通、複数個使用出来、それぞれを自由にスプライトに使うことが出来ます。
PCGパターンに使える色数は普通限られているので、それを補うためにもパレットブロックは重要です。
また、BG(バックグラウンド)というものもあります。これはスプライトとほぼ同等の機能をもっています。
スプライトのように1ドット単位で自由な座標に表示は出来ませんが、
名前の通り、背景表示に向いています。タイルを敷き詰めるように、パターンを表示することが出来るのです。
敷き詰めたパターンは独立して移動させることは出来ませんが、敷き詰めた面全体を移動させて表示することは出来ます。
激しい動きはしないが、常に表示させておきたいものや、巨大なものを表示する時などに使われます。
表示出来るパターンはスプライトと共用しています。
以上を踏まえて、X680x0スプライトスペックを挙げておきます。
|
スプライト表示能力 |
スプライトサイズ 表示可能数 表示可能色数 PCG定義可能数 その他 |
16*16ドット 128(個/画面),32(個/ライン)
65536色中16色,パレットブロック16個 256個 PCG垂直,水平反転表示機能 |
BG表示能力 |
BGサイズ 表示可能数 表示可能色数 PCG定義可能数 その他 |
8*8ドット,16*16ドット(画面モードによる) 64*64個*2画面
65536色中16色,パレットブロック16個 256個 PCG垂直,水平反転表示機能 |
|