[FM]FULLMSX for BLOG

詳しいMSXパソコンなどの情報はホームページで!
https://fullmsx.web.fc2.com/

オートスプライト実用化へ DEの矩形枠移動に活用 単色で最大40×40ドットのスプライト

2010-12-18 16:57:21 | Weblog
画面は40×40ドットのマスの図形をスプライトに変換している画面になる。
MSXにはスプライト番号が0~31の32番まである。
スプライトというのはポインターの形が矢印になったりIになったりと
最前面でグラフィックが変わる機能のことである。
MSXのスプライトはグラフィックと異なり、ビットコードで記述する。
グラフィックを描けてもビットコードがわからなければ
スプライトをつくることができないのである。
これをビットマップの色をビットに変換させるのが、
オートスプライトプロジェクトだ。
今まではプロジェクトペーパーなどで8×8のドットイメージを作り、
これをコード表をみながら変換してきた。
それを自動化させたのが、ドットエディタ(DE)だ。
このドットエディタを使えば自由なスプライトを作ることができる。
それでも8×8か16×16と限られた範囲だった。
例えば32×32のスプライトを作ろうとしてもできなかった。
そこでビットマップで描いてスプライト化させる
次世代のプロジェクトが始まったのだ。
どこまでスプライトにできるのか実験が始まった。
8ドット単位で1マスとして
6×6では36番まで必要になってくるので、できない。
最大で5×5マスの25番までにすると40×40ドットが最大になった。
この大きさのキャラクタ移動はMSXでできることになる。
こんな大きな特大ポインターの移動もできるだろう。
現在のDEはビットマップ用途になっているが、
スプライトの最前面を移動できる利点を使って
将来的にはスプライトアニメーションなども考えている。

こんなことも★

オートスプライトが実現したおかげで、何とか今年中にできた。
ウチは正月にブログを見たりするだろうと思い、
最後まであきらめずにDEの実機対応化を進めてみた。
今までは快適にBlueMSXで1ドット移動させるには
少なくても8~10倍速する必要があった。
右に移動するには左の縦1ドットは除いて全ドット画面をコピーさせて
左上へもっていき、右の空いた1ドットのみを読み込ませて
移動させるしくみで、ある程度処理を省略させたものだが、
BASICではそれでも遅すぎる。



そこで、プレビュー画面から移動させることを考えた。
全体から範囲を選択して読み込めばよいのだが、
矩形範囲をわかりやすく表示させるには
32×32の大きなスプライトが必要だった。
MSXでは規格外のスプライトであり、
プロジェクト待ちになっていたというわけだ。
これで実機でもドット修正ができる環境ができた。
オートスプライトの実現で今までできなかった、
スタンプのような感覚で画像を貼り付けることもできる。
さらに漢字もスプライトにできるので、
表示の位置を決めたりすることもできる。
今までのMSXのスプライトのイメージとは違う楽しみができるだろう。

次回はGWの新機能、左右90度回転、CIRCLE、OVALなど
アップデート情報を中心に書いてみたい。



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする