十四歩目 レベル UP
今まで HSPを使ってきたが
「この命令は もうちょっとああなるといいなあ」 ということは無いだろうか?
ここでは そんな人のために 2つ いい命令を教えよう
〜背景色〜
今までに cls という 画面を一回 クリア(初期化(しょきか))
つまり いったん cls ? で ?で指定した色(0〜4)
で ぬりつぶすという命令があったが
それでは 白か 黒か 灰色かしか出来ないので
今度は どんな色でも背景に出来るようにしよう
それには boxf という命令を使うのだ!
color 255,0,0 boxf stop |
ウインドウの背景が真っ赤になったはずだ!
boxf というのは cls と同じ 塗(ぬ)りつぶす ということだが
boxf には 本当は 塗りつぶす範囲(はんい)を決めれるのだ
ではやってみよう
screen 0,200,200 color 0,255,0 boxf 0,100,200,200 stop |
どうです? ウインドウの下の半分が
緑色になったと思います
screen 0,200,200 でウインドウのサイズを
横200縦200の大きさに設定(せってい)
color
0,255,0 で緑色指定(してい)
boxf
0,100,200,200 は 塗りつぶす左上の
X座標が0(右へ0) Y座標を100(下へ100)
boxf 0,100,200,200 は 塗りつぶす右下の
X座標が200(右へ200) Y座標を200(下へ200)
さっき指定した色(緑だったな)でその範囲を塗りつぶす
boxf a,b,c,d aは塗りつぶす左上のX座標 bはY座標 cは塗りつぶす右下のX座標 dはY座標 |
ということじゃ boxf だけにして 数字を何も書かないと
自動的にそのウインドウの大きさが塗りつぶされる
だからそのウインドウを全部塗りつぶしたいときは
boxf だけでいいのだ
cls の代わりに使っても同じ事だ(僕はほとんど boxf を使う)
〜wait と await〜
repeat を使うときは wait を入れると言ったが
どうしても wait では動作が遅いときがある
そんなときに使うのが await である
なんと!!!
await 10 と wait 1 は同じなのである
つまり await は 難しく言うとwait の十分の一まで細かく出来るのである
当然だが wait
では wait 1 が一番 速い(人間にとってはほとんど一瞬くらい)
もちろん wait 0.1 なんて 小数点は使えない
そこで await を使うのだ
もし wait を使っていて 「遅いなー」と思ったら
await を使ってみてくれ
例
wait だと
repeat print "a" wait 1 loop |
await だと
repeat print "a" await 1 loop |
ただし! awaitはwaitと 待つという意味では同じなんだけど、パソコンの待たせ方が違うから
時間もちょっとずれるし パソコンの負担も違うんだ(awaitの方がパソコンにはきつい)
だからawaitを使うときは普通await 5〜10 ぐらいでつかうのがパソコンに好かれるんだよ
ままととめめ〜〜〜 boxf・・・範囲を指定して その中を指定した色で塗りつぶす color 0,0,0:boxf await・・・waitより 十分の一細かい await 1 |