| prefix | name | explain |
|---|---|---|
| $ | Set / 値書き換え |
属性の値を書き換えます。 $target.property newvalue (「target.」が自身の場合は省略。) |
| % | Get / 値呼び出し |
属性の値を呼び出します。 %target.property (「target.」が自身の場合は省略。) 単体で実行しても意味がありません。 |
| & | Exec / メソッド呼び出し |
指定された属性を命令文の集合として実行します。 |
| [ | ShiaMessage (ShiaCall) |
ShiaMessageを発行します。 ShiaControllerに渡され、適当な値が返却されます。 |
| @ | SystemCall |
システムコールを発行します。 SOScriptEngineで処理され、適当な値が返却されます。 |
| { | 条件分岐 |
条件分岐フラグを設定します。 妄想中。 |
| } | 条件実行 |
条件分岐フラグにより、続く命令の実行を決めます。 妄想中。 |
| example | explain |
|---|---|
| $fraction 0.5; | 自身の透過度を0.5にします。 |
| $target.visible YES; | targetを可視状態にします。 |
| $fraction %target.fraction | 自身の透過度をtargetと同値にします。 |
| &self.onrun | 自身のonrun属性をSOScriptとして実行します |
| @runshiacall [shia.music.op.play; | shia.musicへShiaMessageを発行し、 opというBGMを再生します。 |
| word | explain |
|---|---|
| NO | 偽を示します |
| false | 偽を示します |
|
真偽判定は、偽であるかどうかで行います。 そのため、YES/trueは予約語として定義されません。 | |
| SysCall | Args | explain | |
|---|---|---|---|
| example | |||
| runShiaCall | ShiaMessage | ShiaMessageを発行します | |
| @runshiacall [shia.obj.method key:val; | |||
| runSceAsReplace | SceFilePath | シナリオを実行させます。 | |
| @runsceasreplace scenario.shia; | |||
| runSceAsChild | SceFilePath | ||
| @runsceaschild scenario.shia; | |||
| quitSO | - | 全てのScreenを破棄し、OrderQueを空にします。 | |
| @quitso; | |||
| exec | - | シナリオを実行させます。 | |
| @exec; | |||
| quitApp | - | 実行環境を終了します。 | |
| @quitapp; | |||
| runSO | SOfile | SOfileからScreenを作成し、スタックに積む | |
| runSOAsChild | SOfile | SOfileからScreenを作成し、スタックに積む | |
| runSOAsReplace | SOfile | SOfileからScreenを生成し、現在のものと置き換える | |
| closeSO | カレントのスクリーンを破棄する | ||
| beep | - | 警告音を鳴らす | |
| @beep | |||
| focus | target | targetにフォーカスを移す | |
| @forcus btn1 | |||
| forgroup | group, order | groupに含まれる全てのオブジェクトを対象にorderを実行する。 | |
| @forgroup first $visible yes | |||
| log | string | 標準出力にログを吐きます。 | |
| @log This is log message. | |||
| OrderQueue | |||
|
SOScriptのorderをQueue構造で保持します。 | |||
| loadOrder | OrderFilePath | orderを読み込み、OrderQueueの末尾に追加します。 | |
| addOrder | order | OrderQueueの末尾にorderを追加します。 | |
| removeOrder | - | OrderQueueの先頭からorderを削除します。 | |
| clearOrder | - | OrderQueueをクリアします。 | |
| logOrder | OrderQueue内のorderを出力します。 | ||
| ArteMisya Expansion | |||
|
ArteMisyaではShiaSceの代わりにSOScriptを羅列したものをシナリオとして利用しました。 シナリオとして読み込まれたSOScriptはキューに保持され、execコマンドで実行されます。 | |||
| noticeMsg | ArteMessageNo | ArteMisya Exp. | |
| loadsce | OrderFilePath | loadsceと同等。廃止予定。 | |
| clearsce | - | clearsceと同等。廃止予定。 | |
| logsce | logsceと同等。廃止予定。 | ||