デコレーション
入門講座祝10章達成と言うことで、当初にしようと思っていたものは後回しにして、
ちょっぴり楽しい(?)色々な文字の飾り付けをしたいと思います。
まずは文字が表示される速度を変更して1文字ずつ流れるように表示させるやり方を説明します。
text命令と呼ばれるもので、書式は「text スピード」です。
0をp1に入れると、今まで表示させたように一瞬ですべてが表示されます。
1以上の数値をp1に入れると、1文字ずつ表示されます。値が大きいほどゆっくりと文字が表示されます。
次のtext命令を実行する、または初期化命令をするまで文字表示のスピードは変わりません。
text 20 ; 流れるように少しずつ表示させる
mes "祝HSPBC入門講座10章達成!!!"
stop
p1をいろいろ変えてみてスピードを研究しておきましょう。
次に文字色を黒色以外に変えてみます。
文字だけでなく色を変更するには「color」命令を使います。
光の三原色(赤・青・緑)ですべての色をが表すことが出来るのですが
この命令は光の三原色を知らない方にはちょっとわかりづらいかもしれませんね…。
書式は「color 赤,緑,青」です。
p1には赤の輝度、p2には緑の輝度、p3には青の輝度をそれぞれ0〜255の間の数値を入れます。
値が小さいほど暗く、255に近いほど明るくなります。パラメータ間は「,」(コンマ)で区切ります。
「color 255,0,0」なら赤が非常に強く、青・緑が弱いということで赤く発色されます。
color 200, 100, 200 ; 薄紫色に変更
mes "color文字色を薄紫色に変更しました"
stop
続いて表示する位置を変更しましょう。
picload命令のところでチラッと話し通り、HSPでは左上端の座標が(0,0)となります。
蛇足ですが、初期ウィンドウサイズは640×480ドットとなっています。
文字やコレから先に出てくるオブジェクト等のカレントポジションを変更するにはpos命令を使います。
メモ帳で縦棒がチカチカ点滅して文字を打つとその位置から入力されます。
カレントポジションとはこの縦棒のようなもののことです。
HSPにはこの縦棒が表示されませんが、mes命令等を使って表示させる時にこの位置から表示されます。
最初は左上端の(0,0)にカレントポジションがあります。
書式は「pos x座標,y座標」です。左上端からp1ドット右に、p2ドット下に位置を移動させます。
pos 20, 50
mes "左端から右へ20ドット、上端から下へ50ドットの位置から表示"
stop
コレでだいぶ自由に文字設定できるようになって来ました。
次にフォントの形や大きさを変更しましょう。「MS 明朝」や「Impact」などです。
書式は「font "フォント名",文字のサイズ,スタイル」です。
注意点は、他人に配布するときに指定したフォントが存在しないと標準システムフォントになります。
同じサイズでもフォントによって文字幅が違うのでオブジェクトと重なったりする不都合が出てきますので、
なるべくメジャーなフォントを使うことをお勧めします。
フォント名の記述の後、コンマを挟んでp1,p2に値を入れます。
p1にはフォントのサイズを1〜99の間で入れます。初期値は12です。
このサイズはメモ帳、ワード、エクセル等で使う文字サイズと同じではなく、ドット数に比例したサイズで、
自分のパソコンで見やすいサイズにしておけば、他の解像度の違うパソコンでも見やすいサイズとなります。
p2にはフォントのスタイルを選びます。通常は0で、省略時も0となります。
1で太文字、2で斜体、4で下線付き、8で打ち消し線(訂正線)付き、16でアンチエイリアス文字になります。
これらを組み合わせるには、したいスタイルの値を足してやります。
例えば、1(太)+2(斜体)、合わせて3で太い斜体になります。
font "MSP ゴシック", 14, 1
mes "この文の書体はMSPゴシックの太字です"
stop
フォント名を省略すると、標準システムフォントになります。
システムフォントに変更するにはsysfont命令を使います。
書式は「sysfont フォント種類番号」です。
この命令はあまり使わないと思うので説明しません。
mes "abcdefghijklmn(p1=0)"
sysfont 10
mes "abcdefghijklmn(p1=10)"
sysfont 11
mes "abcdefghijklmn(p1=11)"
sysfont 12
mes "abcdefghijklmn(p1=12)"
sysfont 13
mes "abcdefghijklmn(p1=13)"
sysfont 17
mes "abcdefghijklmn(p1=17)"
stop
次にタイトルバー(キャプションバー)の文字列を変更しましょう。
タイトルバーとはウィンドウを移動させる時につまむウィンドウ上部のバーのことで
HSPでは実行した時に「Hot Soup Processor verX.XX」と書かれたバーです。
書式は「title "タイトルバーに表示したい文字列"」です。
title "ここがタイトルバーです"
stop
p1の表示したいテキストの部分は変数で指定も可能ですが、
変数には数値が入っている場合、「文字列+変数」の形にしなくてはなりません。
つまり
abc = 12345
title abc
stop
だと、数値型を表示しようとしているのでエラーとなります。
abc = 12345
title "" + abc
stop
とすることで回避できます。
真っ白の背景を他の色で塗りつぶすやり方を説明します。
書式は「boxf 塗り始めx座標,塗り始めy座標,塗り終わりx座標,塗り終わりy座標」です。
左端からp1ドット右、上端からp2ドット下の位置から、左端からp3ドット、上端からp4ドットの位置までを
指定した色で塗りつぶすわけです。ココで指定する色はcolorで使われている色です。
color 255, 255, 0 ; 黄色に変更
boxf 100, 50, 540, 430 ; 黄色で(100,50)から(540,430)まで塗りつぶす
stop
p1,p2を省略すると0に、p3を省略すると右端まで,p4を省略すると下端まで塗りつぶします。
boxf ;すべてを初期色(黒色)で塗りつぶす
stop
ウィンドウの初期サイズは640×480ドットを変更するにはwidth命令を使います。
ヘルプによると「width xサイズ,yサイズ,x座標,y座標」となっており、
p1はウィンドウの横幅の設定、p2はウィンドウの高さ(タイトルバーも含む)の設定
p3はディスプレイの左上を座標(0,0)として右に何ドット、p4は下に何ドットの位置かを設定します。
各パラメータを省略すると、変更前のサイズ・位置のパラメータをセットしたのと同じ事となります。
つまり、位置が200,150でサイズが640,480の時に「width ,50,300」とすると、
位置200,50で、サイズが300,480となるわけです。
さて、ウィンドウサイズを変更できるからといっても、
横幅を641以上、縦幅を481以上に指定として実行するとエラーにはなりませんが表示がおかしくなりますね。
この命令は初期化されたウィンドウサイズより大きくすることはできないのです。
そのうちウィンドウサイズを変更して初期化する命令を紹介しますので
画面いっぱいに広げたくても今は我慢してください。