トップ / スクリプトタグ
スクリプトタグ

このページでは、Silhouette で使用することができるスクリプトタグを説明しています。

タグには多くの種類がありますが、よく使用するものはごく一部です。自分が使用するものだけを把握していれば、あとは無視して大丈夫です。

よく使用する重要なタグは、この色で示しています。


基本情報

タグ名 説明
<settitle,名前> 作成するマスコットアプリケーションの名前を指定する。
<topmost,パラメータ> すべてのウィンドウを常に最前面に表示するかを設定する。
パラメータ 0/1 = 最前面にしない(デフォルト)/する
<mini> すべてのウィンドウを最小化する。
<rmini> 最小化されたすべてのウィンドウを元のサイズに戻す。
<exit> Silhouette を終了する。
<oprnurl,URL> URLをデフォルトのウェブ・ブラウザで開く。


ウィンドウ

タグ名 説明
<cw,名前,基準x,基準y> ウィンドウを作成する。

x/y に -1 を指定するとデスクトップ左右/上下の中央、 -2 を指定するとデスクトップ左/上の適当な位置、 -3 を指定するとデスクトップ右/下の適当な位置が設定される。

作成されたウィンドウをカレント・ウィンドウ(操作対象のウィンドウ)に設定する。
<kw> カレント・ウィンドウを削除する。
<c,ウィンドウ名> カレント・ウィンドウを設定する。
<renamewindow,新しい名前> カレント・ウィンドウの名前を変更する。
<s,画像もしくはアニメ名> カレント・ウィンドウの表示画像/アニメを設定する。
<d,パラメータ> カレント・ウィンドウの表示状態を設定する。
<s>タグで表示画像を指定していないウィンドウは、1 を指定しても表示されない。

パラメータ 0/1 = 非表示/表示
<stick,パラメータ> カレント・ウィンドウのデスクトップ端への張り付き状態を設定する。

パラメータ 0/1/2/3/4 = 張り付かない(デフォルト)/下端/上端/左端/右端

<alpha,値> カレント・ウィンドウの透過度を設定する。

値は0〜255の範囲で指定する。0が完全に透明、255は不透明(デフォルト)。
カレント・ウィンドウに子ウィンドウがある場合は子ウィンドウにも設定値が波及する。


ウィンドウ(拡張設定)

タグド名 説明
<sp,親ウィンドウ名,結合位置ID,Xオフセット,Yオフセット,Zオーダー> カレント・ウィンドウを、親ウィンドウ名で指定したウィンドウの子ウィンドウに設定する。

表示/非表示、ドラッグ移動、文字列表示などの機能が、親ウィンドウと結合される。 親ウィンドウを <kw> で削除すると、子ウィンドウも削除される。

結合位置IDは親ウィンドウのどの位置にくっつくかを指定する。下図参照。



各設定値を更新したい場合は、該当するパラメータのみを変更して本命令を実行しなおすこと。

親子関係はネストできない。つまり、孫ウィンドウを作成することはできない。
<resetparent> カレント・ウィンドウが子ウィンドウだった場合、通常の(子ウィンドウではない)ウィンドウに戻す。
<setparentpiclink,親ウィンドウの画像名,対応させて表示する画像名,Xオフセット,Yオフセット> カレント・ウィンドウが子ウィンドウの場合、画像連動を設定する。

親ウィンドウの画像が「親ウィンドウの画像名」になった時、カレント・ウィンドウの画像を「対応させて表示する画像名」に 自動的に変化させる。

連動設定による画像指定は、通常の <s> タグによる画像指定よりも優先される。
<delparentpiclink,親ウィンドウの画像名> 親ウィンドウ画像が「親ウィンドウの画像名」の時の連動設定を解除する。
<balloon,パラメータ> カレント・ウィンドウをバルーン・ウィンドウに設定する。

パラメータ 0/1=通常のウィンドウ(デフォルト)/バルーン・ウィンドウ

バルーン・ウィンドウは以下の特徴を持つ:
  • showwindow 1 を実行しても表示されない。
  • スクリプト再生時に、表示すべき文字が入力された時点で自動的に表示される。
  • スクリプト再生中にダブルクリックされると、スクリプトの再生が打ち切られ、すべてのバルーン・ウィンドウが非表示になる。
  • スクリプトの再生が完了してから10秒経過すると、自動的に非表示になる。
  • 10秒経過する前にクリックすると、すべてのバルーン・ウィンドウが非表示になる。
  • <bto,待機時間> バルーン・ウィンドウにおいて、スクリプト再生が完了してからバルーンが自動的に 非表示になるまでの時間を指定する。単位は秒。デフォルト値は10。


    画像

    タグ名 説明
    <ap,画像名,フルパス,透過設定> フルパスで指定された画像ファイルを読み込んで登録する。

    画像フォーマットはPNGを推奨するが、BMP、JPG、GIFも読み込み可能である。アニメGIFを指定した場合は最初のコマのみ読み込まれる。

    透過設定は 0/1 で、1 を指定すると、左上隅の色を透過色として処理する。
    <dp,画像名> 登録済の画像を削除する。
    <renamepic,画像名,新しい名前> >登録済の画像の名前を変更する。

    このタグはスクリプトからは実行できない。
    <adda,画像名,領域名,左上X座標,左上Y座標,右下X座標,右下Y座標> 画像に矩形領域を定義する。

    ひとつの画像にいくつでも定義可能であるが、それぞれの領域名はユニークでなければならない。 同じ領域名を定義しようとすると、後から定義したもののみが有効になる。
    <addt,画像名,領域名,左上X座標,左上Y座標,右下X座標,右下Y座標> 画像にテキスト表示用の矩形領域を定義する。

    テキスト表示用領域は、ひとつの画像につきひとつしか定義することができない。
    <dela,画像名,領域名> 画像に定義されている領域を削除する。
    <tc,画像名,テキスト色,アンカー色> 画像のテキスト表示色とアンカーリンクテキストの表示色に設定する。 色は RRGGBB で指定する。
    <viewarea,パラメータ> 開発用。定義されているすべての領域を可視化する。


    テキスト

    タグ名 説明
    <br> 改行する。
    <@,実行するコード> 変数の代入や値の取得、あるいはシステム関数を実行し、結果を再生中のスクリプトに埋め込む。

    具体的には、実行コードを文字列処理用 DLL である ctrl.dllに渡して、ctrl.dll内でevalし、結果を得ている。

    コンソールから実行した場合、結果をコンソールに表示する。スクリプトから再生された場合は、 再生中のスクリプトのその位置に埋め込まれる。
    <w,ミリ秒> スクリプトの再生を指定した時間(単位ミリ秒)だけ停止する。

    コンソールからは直接実行できない。
    <a,ラベル,イベント名> アンカーリンク。ラベルがテキストとして表示される。この部分をマウスでクリックすると、設定されたイベントが発生する。

    コンソールからは直接実行できない。
    <l> カレント・ウィンドウに表示されているテキストをクリアする。

    カレントが親ウィンドウで、テキスト表示領域を持たない場合は、テキスト表示領域を持つ子ウィンドウに対して働く。
    <tpt,ポイント数> テキストの大きさをポイント数で指定する。デフォルト値は12。
    ここで設定するポイント数がすべてのテキスト文字に適用される。部分的にサイズを変更するといった表現はできない。
    <tspd,表示時間> テキスト1文字あたりの表示時間を単位ミリ秒で設定する。デフォルト値は50。
    この数値を大きくするほど、スクリプトの再生時間が長く、再生速度はゆっくりになる。最小値は50。
    <cl> スクリプトの再生を 30 秒間停止する。テキスト表示領域をクリックすると即時再生が再開される。

    コンソールからは直接実行できない。
    <play,スクリプト> スクリプト script を再生する。

    スクリプトからは実行できない。


    イベント(登録)

    タグ名 説明
    <addevent,イベント名,条件式> イベント event を新規追加する。条件式 cond は省略できる。

    作成したイベントを、カレント・イベントに設定する。

    イベント発生時には、より多くの条件に当てはまったものが実行される。

    スクリプトからは実行できない。
    <delevent> カレント・イベントを削除する。

    スクリプトからは実行できない。
    <retouchcond,新しい条件式> カレント・イベントの条件式を変更する。条件式を削除したいときは新しい条件式に空文字列を渡す。

    スクリプトからは実行できない。
    <currentevent,イベント名,条件式> 指定したイベントをカレント・イベントにする。条件式は省略できる。

    スクリプトからは実行できない。
    <renameevent,新イベント名,条件式> カレント・イベントにの名前を変更する。

    スクリプトからは実行できない。
    <memoevent,メモ> 現在のカレント・イベントについてのメモを書く。動作には一切関係しない。

    スクリプトからは実行できない。
    <addscript,スクリプト> カレント・イベントにスクリプトを追加する。

    スクリプトからは実行できない。
    <delscript,ID> カレント・イベントの ID 番目のスクリプトを削除する。ID は 0 オーダー。

    スクリプトからは実行できない。
    <retouchscript,ID,新スクリプト> カレント・イベントの ID 番目のスクリプトを変更する。

    スクリプトからは実行できない。


    イベント(発生)

    タグ名 説明
    <r,イベント名,付加情報0,付加情報1,付加情報2> イベントを発行する。呼び出し元のスクリプトの再生は中断される。

    付加情報(リファレンス)は省略可能。
    <*,イベント名,付加情報0,付加情報1,付加情報2> イベントを発行し、結果をスクリプトに埋め込む。単語辞書の呼び出しでよく使う。

    付加情報(リファレンス)は省略可能。

    コンソールから実行した場合、結果はコンソールに表示される。スクリプトから再生された場合は、 再生中のスクリプトのその位置に埋め込まれる(これが <r> タグとの違い)。
    <ti,時間間隔,バラつき量> システムイベント OnTalk が生起する時間間隔 sec を設定する。単位は秒。0を指定すると OnTalk イベントが発生しなくなる。

    バラつき量 dsec は時間のばらつきで、実際には sec秒 〜 (sec + dsec)秒の間隔でランダムに生起する。
    <timer,イベント名,待機時間,付加情報0,付加情報1,付加情報2> タイマー。設定した時間が経過したらイベントを発行する。単位は秒。

    待機時間に 0 を指定すると、現在待機中のタイマーが解除される。タイマーはひとつしか仕掛けることはできない。 複数回指定した場合が、最後のもののみが有効となる。

    付加情報は省略可能。


    メニュー

    タグ名 説明
    <addmenu,メニュー名> メニューを新規追加する。

    作成したメニューを、カレント・メニューに設定する。
    <delmenu> カレント・メニューを削除する。
    <cm,メニュー名> カレント・メニューを指定する。
    <renamemenu,新しいメニュー名> カレント・メニューの名前をに変更する。
    <ai,ラベル,イベント名,付加情報0,付加情報1,付加情報2> カレント・メニューにアイテム(選択項目)を追加する。

    ラベルに "-" を指定するとセパレータに変換される。
    付加情報(リファレンス)は省略可能。

    イベント名にメニュー名を指定すると、サブメニューとして機能する。ただし作成できるのは 一段階のみで、二段以上は指定しても無視される。
    <di,ID> カレント・メニューに登録されている ID 番目のアイテムを削除する。ID は 0 オーダー。
    <upi,ID> カレント・メニューに登録されている ID 番目のアイテムを、ひとつ上の列に移動する。ID は 0 オーダー。
    <downi,ID> カレント・メニューに登録されている ID 番目のアイテムを、ひとつ下の列に移動する。ID は 0 オーダー。
    <ri,id,ラベル,イベント名,付加情報0,付加情報1,付加情報2> カレント・メニューに登録されている ID 番目のアイテムの内容を変更する。
    各パラメータについての詳細は <ai> タグを参照。
    <dispmenu> 現在のマウス・ポインタの位置に、カレント・メニューを表示する。


    アニメーション

    タグ名 説明
    <addanime,アニメ名> アニメーションを新規追加する。

    アニメ名は、他のアニメ、および画像とぶつからないユニークな名前でなければならない。

    作成したアニメを、カレント・アニメに設定する。
    <da> カレント・アニメを削除する。
    <ra,新しいアニメ名> カレント・アニメの名前を変更する。
    <ca,アニメ名> カレント・アニメを指定する。
    <ac,画像名,表示時間> カレント・アニメにセル画像を追加する。

    セルの表示時間は単位ミリ秒。0を指定すると、このコマでアニメが停止する(最終コマ指定)。
    <dc,ID> カレント・アニメの ID 番目のセルを削除する。ID は 0 オーダー。
    <rc,ID,新しい画像名,新しい表示時間> カレント・アニメの ID 番目のセルの画像および経過時間を変更する。ID は 0 オーダー。
    <la,待機時間,バラつき量> カレント・アニメのループ制御を設定する。

    待機時間 sec、バラつき量 dsec の単位はミリ秒。sec 〜 (sec+dsec)秒のウェイトののち、再び先頭セルから再生される(ループ)。 sec, dsecとも0にするとウェイト無しで即時ループする。 sec に -1 を指定するとループしなくなる。


    アイコン

    タグ名 説明
    <seticon,画像名> 実行ファイルのアイコン画像を指定する。 未実装


    以下はタグではなく、コンソールに情報を表示するコマンド

    コマンド名 説明
    version Silhouette のバージョンをコンソールに表示する。
    gettitle 設定されているマスコットアプリの名前をコンソールに表示する。
    list,オプション 現在定義されているすべてのウィンドウのリストをコンソールに表示する。

    オプション all/name = すべて表示(デフォルト)/名前のみ表示
    wndinfo カレント・ウィンドウの詳細情報をコンソールに表示する。
    getcurrent 現在のカレント・ウィンドウの名前をコンソールに表示する。
    piclist,オプション 登録済のすべての画像の情報をコンソールに表示する。

    オプション all/name = すべて表示(デフォルト)/名前のみ表示
    picinfo,画像名 画像についての詳細情報をコンソールに表示する。
    getcurrentevent 現在のカレント・イベントと条件式を表示する。
    eventlist イベントの一覧をコンソールに表示する。
    scriptlist,s,e カレント・イベントに登録されているスクリプトをコンソールに一覧表示する。

    s/e は表示開始番号/表示終了番号で、省略するとすべて表示される。
    gettalkinterval 現在のシステムイベント OnTalk の生起間隔をコンソールに表示する。
    getcurrentmenu 現在のカレント・メニューの名前をコンソールに表示する。
    menulist 登録されているすべてのメニューの一覧をコンソールに表示する。
    itemlist カレント・メニューに登録されているアイテムをコンソールに表示する。
    getcurrentanime 現在のカレント・アニメの名前をコンソールに表示する。
    getloopanime カレント・アニメのループ制御設定をコンソールに表示する。
    animelist 登録されているすべてのアニメの情報をコンソールに表示する。
    cellist カレント・アニメのセル情報をコンソールに表示する。
    geticonname 実行ファイルのアイコンとして設定されている画像の名前をコンソールに表示する。 未実装
    parentpiclinklist カレント・ウィンドウの画像連動の設定をコンソールに表示する。

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