トップ / チュートリアル9. メニュー
チュートリアル 9. メニュー

ウィンドウの上にマウスポインタを置いた状態で右クリックしたり、あるいはデスクトップ右下のトレイアイコンを クリックしたりした時に、メニューを表示することができます。メニューの項目や選ばれた時の動作は、自由に作ることができます。


メニューの新規作成
メニューの[メニュー|メニュー...]を選択してください。[メニュー]ダイヤログが表示されます。

右上の[追加...]ボタンをクリックして、メニューの名前を入力して[OK]をクリックしてください。 これで、新しいメニューが作成されます。


メニューアイテムを登録


メニューに表示する項目を追加していきます。この項目のことを、「メニューアイテム」と呼びます。

メニューアイテムに登録する情報は 2 つあります。1 つ目は、メニューに表示される文字列で、これは[ラベル]と言います。 もう 1 つは、「このアイテムが選ばれた時に発生するイベントの名前」です。ここにも、好きな名前を入力することができます。 左の例ではラベルを「こんにちは!」、イベントを「OnHello」としました。



ラベルに「(セパレータ)」という文字を指定することもできます。これはメニューアイテムの間にある仕切り線です。
セパレータでは、イベントを指定する必要はありません。

もうひとつ、Silhouette を終了させるためのアイテム「終了」(イベント名は OnExit)を追加しておきましょう。左図のようなメニューが完成しました。


メニューを表示する
基本的に、メニューはマウスで何らかの操作をした時に表示させます。
たとえば「とねり」がマウスの右ボタンでクリックされた時に、メニューを表示するようにプログラムしてみましょう。 イベント[OnRButtonClick]に、スクリプト <cm,とねりのメニュー><dispmenu> を追加してください。このスクリプトは、 「名前が"とねりのメニュー"のメニューを表示する」と言う意味です。

「とねり」にマウスポインタを重ねて、マウス右ボタンをクリックしましょう。メニューが表示されますね。
ただし、まだアイテムが選ばれた時に何をするかは決めていないので、アイテムを選んでも何も起きません。


メニューイベントへの反応
メニューアイテムが選ばれた時にどう動作するのかをプログラムします。これはアイテムに割り当てたイベント OnHello と OnExit の イベントスクリプトを書くだけですから、もうわかりますね。それぞれのイベントを[イベント]ダイヤログで追加してから、[イベントスクリプト] ダイヤログでスクリプトを登録します。

OnHello イベントのスクリトとして、<c,とねり><s,素><d,1>こんにちは、今は<@,HOUR>時<@,MINUTE>分です。 という スクリプトを登録してみましょう。

メニューから「こんにちは!」を選ぶと、とねりが現在の時刻を話してくれます。


OnExit には、もちろん終了タグ <exit> を書きますが、スパッと終了するだけでは面白味がありませんから、 「さようなら」とお話をしてから終了させてみましょう。登録するスクリプトは、 <c,とねり><s,素><d,1>さようなら。<w,1000><exit> です。

<w,1000> と言うタグは重要です。これは、指定した数字だけ、スクリプトの再生を停止させるタグです。単位はミリ秒ですから、 <w,1000> は 1 秒停止します。
「さようなら。」と表示されてからすぐに終了してしまうと、文字を読むヒマがありませんから、1 秒間だけ ストップさせているのです。


前の章へ ← → 次の章へ

[↑ページ先頭に戻る]
Silhouette