6. これがランチャー?!

メッセージとボタン、そして画像が表示できるようになりましたが、ま だレイアウトができなくて、ちょっとカッコ悪い画面になってしまいま すね。今度は、そのあたりをちょっと調整してみましょう。 新しく出てくる命令は、
命令(ステートメント)パラメータ意味
posX座標,Y座標指定した座標をカレントポジションに
colorR,G,B輝度値テキストの色を指定する
です。文字やボタンを表示する時には、必ず画面の左上から出した順番 にタテに並んでしまいますよね。これではレイアウトも何もあったもん じゃありません。実はHSPでは、
文字やボタンを表示する位置のことを、カレントポジション
と呼んでいます。ワープロソフトなどで、文字を打ち始める位置をカー ソルとかキャレットとか呼んでるのと同じで、HSPではなぜかカレント ポジションから、文字やボタンが表示されるのです。 画面では見えないけども、「ここからボタンや文字を置きますよー」 というカーソルが画面の中にあるんだって思ってください。
文字やボタンを表示させた後は、カレントポジションは自動的に次の行 の先頭に移動します。だから、いままではタテに並んでいたんですね。
このカレントポジションを変更するのが、「pos」命令です。たとえば、
pos100,50
mes"やっほーー"
のように指定すると、Xの座標が100、Yの座標が50の位置にカレントポ ジションを移動してから、「やっほー」というメッセージを表示さます。 (X,Y)の座標は、左上を(0,0)として1ドット単位になっているから、上の 例だと、左から100ドット目、上から50ドット目に、「やっほー」という 表示がされるのです。同じように、
pos30,200
button"OK",*hata1
のように書くと、(30,200)という座標に「OK」と書かれたボタンを表示 します。そして、もう1つ。「pos」命令でカレントポジションを変更 した後は、文字やボタンを表示した後、自動的に次の行の先頭にカレン トポジションが変更される時に、「pos」命令で指定したX座標にそろえ られます。つまり、
pos50,80
mes"1.きょうは"
mes"2.いい天気"
mes"3.だったよね"
のようなメッセージは、タテにちゃーんと並ぶということ。 さあ、そしてもう1つ命令を覚えましょう。それはたとえば、
cls1
color255,0,0
mes"赤いよーーー"
color0,0,255
mes"青いよーーー"
このように使います。「color」命令は、表示する文字の色を変更する 機能があります。パラメータが3つもあって難しそうに見えますが、コ ンピュータの画面がR,G,Bという3つの色を合わせて表示しているとい うことを知っている人には、難しくないと思います。
color 赤の輝度値 , 緑の輝度値 , 青の輝度値
こんなふうに色を指定します。Windowsでは、最大で1670万色もの色を 出すことができ、それを指定する最も単純な方法がこれなの。 輝度値とは、その成分がどのくらい明るいかということ。0がもっとも 暗くて、255が最も明るい状態になります。どうやって色を指定するの か、わからない人は、次の設定だけでも覚えておくといいですよ。
color0,0,0; ← 黒
color0,0,255; ← 青
color255,0,0; ← 赤
color255,0,255; ← 紫
color0,255,0; ← 緑
color0,255,255; ← 水色
color255,255,0; ← 黄色
color255,255,255; ← 白
さて、ここまできたら自由なレイアウトで、好きな画像ファイルを表示 を選んだり、表示したりするスクリプトも書けるようになったはずです。 ここでさらにもう1つ、ランチャーを作るために必要な命令を紹介しま しょう。
命令(ステートメント)パラメータ意味
exec文字列指定したプログラムを実行
ランチャーっていうのは、選んだプログラム(アプリケーション)を 実行するためのメニューみたいなプログラムのこと。ボタン1つで、 Windowsのメモ帳や、計算機が起動しちゃうようなメニユーのことで す。それを実現してくれるのが、この「exec」命令です。これは、HS Pから別のプログラム(アプリケーション)を呼びだして起動してし まう命令です。使い方は簡単、
exec "notepad"
のようにファイル名を指定するだけ。「"notepad"」は正しくは、「 "NOTEPAD.EXE"」ですが、EXEファイルの時はわざわざ書かなくてもOK。 notepad っていうのは、Windowsのメモ帳のこと。「アクセサリ」グル ープの中にあるアプリケーションです。ボタンを押してジャンプした 先にこの命令を置いておけば、ボタンを押すだけでメモ帳が起動する ランチャーのできあがり…というわけ。 そして、この命令のもう1つのポイントは、
exec "notepad HSP2.TXT"
のようにプログラム名の後にスペースを開けてファイル名を指定する ことで、指定したファイルを開いてくれるということ。上の例では、 メモ帳で「HSP2.TXT」というファイルを開くところまで自動でやって くれちゃいます。
注意しなければいけないのは、HSP2.TXTのように開きたいファイル名 を指定する時には、そのファイルがHSP.EXEと同じディレクトリにある か、またはPATHで指定されているディレクトリになければならないとい うこと。PATHで指定されているディレクトリとは、普通Windowsのシス テムが入っているディレクトリなので、Windows標準のシステムツール であるNOTEPAD.EXE、つまりメモ帳はちゃんと呼び出せる…というわけ。 だから、あとからインストールしたツールとかを呼び出そうとしても ハードディスクの中から自動的に探してくれるわけじゃないので、 ファイルが見つからない…なんてこともあり得るのです。
この命令によって、HSPではできない機能なども外部のプログラムを使 って実現できるようになります。たとえば、音楽集、ムービー集などを 作りたい場合には、
exec "mplayer SAMP.AVI"
のように指定すれば、「SAMP.AVI」というAVI動画ファイルがメディア プレイヤーで開いて表示できますし、
exec "mplayer SAMP.MID"
のように指定すれば、「SAMP.MID」という標準MIDIファイルを簡単に演 奏させることができるようになります。
mplayer(メディアプレイヤー)やnotepad(メモ帳)などはWindows標 準のソフトですから、どのWindowsでも起動させることができますが、 標準的でないソフト、たとえばMS-WORDなどといった標準で用意されて いないソフトを起動するスクリプトを作った場合には、その環境以外 では動作しなくなってしまいます。不特定多数の人に配布するスクリ プトを作る時などは注意してくださいね。
最後に簡単なスクリプトの例を紹介して、このパートはおしまい。 ボタンとラベルの使い方をバッチリマスターしてから 次に進んでね
cls1
pos100,50
mes"計算機"
mes"メモ帳"
mes"おしまい"
pos20,50
button"CALC",*mkcalc
button"MEMO",*mkmemo
button"END",*owari
stop
*mkcalc
exec"calc"
stop
*mkmemo
exec"notepad"
stop
*owari
end