しょうもない質問だろうとは思うんですが教えて下さい
バックカラーを透明にすると重ね書きされるんですが、どうしたら解消できますか?
#N88BASIC
100 Color 7,-1
110 Locate 10,10
120 Print "A C E" ; "書く"
130 Locate 10,10
140 Print " " ; "消す"
150 Locate 10,10
160 Print " B C " ; "書く"
テキストの重ね書き?
Clsで、1か3を指定してみてください。
あるいは、Colorの第一に0を指定して、同じ文字で塗りつぶすとか。
あるいは、Colorの第一に0を指定して、同じ文字で塗りつぶすとか。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
おおきに、cls(1)で出来ました
CLSに引数があること自体知りませんでした(汗)
ちなみに
今日、書店でN88がないので、Q.BASICのリファレンス本買ってきたら
cls(3)になってました
この本でもダメですね
#N88BASIC
Color 7,-1
Paint (100,200),1,7
Line(369,580)-(378,515),3: Line(378,515)-(446,412),3: Line(446,412)-(519,356),3: Line(519,356)-(594,371),3: Line(594,371)-(652,428),3
110 Locate 10,10
120 Print "A C E" ; "書く"
130 Locate 10,10
140 'Print " " ; "消す"
145 cls(1)
150 Locate 10,10
160 Print " B C " ; "書く"
CLSに引数があること自体知りませんでした(汗)
ちなみに
今日、書店でN88がないので、Q.BASICのリファレンス本買ってきたら
cls(3)になってました
この本でもダメですね
#N88BASIC
Color 7,-1
Paint (100,200),1,7
Line(369,580)-(378,515),3: Line(378,515)-(446,412),3: Line(446,412)-(519,356),3: Line(519,356)-(594,371),3: Line(594,371)-(652,428),3
110 Locate 10,10
120 Print "A C E" ; "書く"
130 Locate 10,10
140 'Print " " ; "消す"
145 cls(1)
150 Locate 10,10
160 Print " B C " ; "書く"
マティです。
clsのオプションですが、1はテキスト画面をクリア、3はテキストとグラフィック画面を両方クリアだったと思います。
この場合、cls(1)を実行した時点で文字列が全て消えてしまいます。
(他の文字列を表示すると良くわかります。)
PC98では、ハードウェアで両者を合成していたので空白文字を表示する事で前の文字を消せるが、ActiveBasicはテキスト画面とグラフィック画面を合成して表示する必要があります。
どうもActiveBasicは背景色が透明な文字列を描画するさいに、背景を透明なモードで描画を行っているだけなので、エミュレーションがうまくいっていないようです。
(背景のグラフィックを転送後、文字を背景色が透明なモードで描画する必要がある。)
clsのオプションですが、1はテキスト画面をクリア、3はテキストとグラフィック画面を両方クリアだったと思います。
コード: 全て選択
#N88BASIC
Color 7,-1
Paint (100,200),1,7
Line(369,580)-(378,515),3: Line(378,515)-(446,412),3: Line(446,412)-(519,356),3: Line(519,356)-(594,371),3: Line(594,371)-(652,428),3
110 Locate 10,10
120 Print "A C E" ; "書く"
130 Locate 10,10
140 'Print " " ; "消す"
145 cls(1)
150 Locate 10,10
160 Print " B C " ; "書く"
(他の文字列を表示すると良くわかります。)
PC98では、ハードウェアで両者を合成していたので空白文字を表示する事で前の文字を消せるが、ActiveBasicはテキスト画面とグラフィック画面を合成して表示する必要があります。
どうもActiveBasicは背景色が透明な文字列を描画するさいに、背景を透明なモードで描画を行っているだけなので、エミュレーションがうまくいっていないようです。
(背景のグラフィックを転送後、文字を背景色が透明なモードで描画する必要がある。)