BGAの作り方 中級篇 (スクロールのしかた)

ここでは、既にBGAとして1枚画像を表示できる程度の方を対象にしています。 (使えればOKです。使いこなせる必要はありません。)
BGAとして1枚画像表示するには、「クリップなどの1枚絵を表示するには、どうすればいいですか。」?をご覧ください。 そもそも「BGAって何?」という方は、「BGAの作り方(超初心者篇)」 をご覧ください。


  • スクロール機能の使い方について?

 ? スクロール機能の使い方について

BGAのスクロールを行うには、#BGAPAN?を用います。#BGAPAN命令は、GDAC2/DTXC共に、Free欄/自由入力欄に入力して使用します。

#BGAPANzz: <BMP番号> <sw> <sh> <ew> <eh> <ssx> <ssy> <sex> <sey> <dsx> <dsy> <dex> <dey> <len> 

詳細は、当面の間 #BGAPANのマニュアル説明?とか、 さくら様☆の#BGAPANの説明とかをご覧ください。
(このページでの説明が全然詳しくなくてすみません。 後日、色々な例を交えつつ、ちゃんと説明を補完しますが #BGAPANそのものの奥が深い&今はちょっと説明を書く時間がないので・・)

以下、簡単な実例です。

3965x355の横長画像を左にスクロールさせる。 両端には、どちらも 278x355の黒領域を設けてある。これをBGAチップの[01]に登録しておいて・・ (注: 上の画像は、横640pixelに縮小してあります)

#BGAPAN01: 01 278 355 278 355 0 0 3681 0 0 0 0 0 768

更に#BGAPAN の命令をFree欄に書き込み。
最初は元画像の(0,0)-(0 + 277, 0 + 354)を表示し、スクロールしていき
最後は元画像の(3681,0)-(3681 + 277, 0 + 354)を表示する。
最初から最後まで、いずれもBGA表示エリアの(0,0)から描画を始める。
768カウントの間(=2小節の間)でスクロールを実行する。

それらをこんな風にセットすると・・・

すると、こんな感じでスクロールします。
負の数を指定することで、元画像の左右両端の黒領域を削ることができますが、一部のDTXManiaでは正常に動かないっぽい・・・。

#BGAPAN01: 01 278 355 278 355 0 0 3681 0 0 0 0 0 768
#BGAPAN01: 01 278 1 278 355 0 178 3681 0 0 178 0 0 768

上記の例(灰色)からちょっとだけ変更(赤字部)。
最初の表示サイズを278x1に変更。最後は278x355になるわけで、 「徐々に表示サイズが大きくなる」。
元画像の(0,178)から表示開始。元画像のyの中央(178≒355÷2)から表示開始し、 最終的にyを0にする。つまり、 「元画像の表示位置を、y軸の中央から徐々に上げていく」
BGA表示エリアでもそれに追従して、 (0,178)から表示開始し、画面表示位置を上げていく。
これを全部シンクロさせるとどうなるかというと・・・

このように、ワイプインの効果が追加されます。
ワイプインの具合を分かりやすくするため、 スクロール画像の背景色を赤色にしています。

上記の例2つをサンプルとしてダウンロード(657)できるようにしました。 詳しくは、このdtxファイルを見てもらえればと思います。

最終更新: 2006.10.10

DTXMania Q&A