情報交換
GDRAWMDで簡単(じゃない)文字切り替え(mkII)
(mkII at 3号の開発でmkIIの命令をいろいろ知ったのでmkII再挑戦中だったり)
(以下、ただ文字を描画するだけのプログラムなのにビット演算を使います)
GDRAWMD 1
まずAという文字を色&B00011111で描画
GPUTCHR 100,100,"BGF0",ASC("A"),1,2
もう1度描画して下4bitを消す
GPUTCHR 100,100,"BGF0",ASC("A"),0,2
次にBという文字を色&B00101111で描画
GPUTCHR 100,100,"BGF0",ASC("B"),2,2
もう1度描画して下4bitを消す
GPUTCHR 100,100,"BGF0",ASC("B"),0,2
するとAでもBでもない部分は&B00000000
Aだけの部分は&B00010000
Bだけの部分は&B00100000
AでもBでもある部分は&B00110000 になる。
ここでAだけを表示したいのでCOLSETで&B00010000と&B00110000を白にする。
次に
GFILL 100,100,115,115,&B01000000
でBに切り替えたい。
この時AでもBでもない部分は&B01000000
Aだけの部分は&B01010000
Bだけの部分は&B01100000
AでもBでもある部分は&B01110000 になる。
ここでBだけを表示したいのでCOLSETで&B01100000と&B01110000を白にする。
そうするとGFILLだけでAとBを高速に切り替えられる。
さらに単純なFILLではなく例えば左から1列ずつGLINEとかにすれば簡単なアニメーションも作れそう。
というのを考えたんですけどどうでしょう
(単純に切り替えるだけならCOLSETで動的にパレット変えた方が楽ですけど)
2色以上の絵を使いたいときは...うーん...