| prefix | name |
|---|---|
| explain | |
| # | コメント |
| #から始まるとコメントとして扱われます。 コメントは重要なので、マメにコメントをつけるといいでしょう。 「//」でも同様の効果があるとかないとか、ないっぽい? | |
| [ | ShiaMessage/ObjectCall |
| ShiaMessageを発行します。 昔はSystemCallに対応させてObjectCallと呼んでいました。 [ShiaPath key:value key value... と表現します。 | |
| @ | SystemCall |
| Parser、SceControllerで処理される命令です。 適当な値が返ってきます。 たしか数値演算もコレ使った気が。 | |
| { / } | 制御文 |
| 「{」が制御文開始、「}」が制御文の終了を意味します。 また、制御文の多重化も可能です。(if文中でのif文など) 現状ではif文のみ利用可能で「{if state」〜「}」と記述します。 (bool)stateは@isequal等の比較系SysCallを使い 「{if @isequal( %abc , 0 )」の様にするといいでしょう。 | |
| $ | 変数代入 |
| 「$key value」と表現する事でkeyで示される変数にvalueを上書き代入します。 「$global.key value」のように変数の所属をcommon、global、localから明示的に選択できます。 (選択されなかった場合はlocalになります。) 詳しくはVarの章を参照してください。 | |
| % | 変数呼出 |
| 「%key」と表現する事でkeyで示される変数の値を呼び出します。 変数代入と同様に、common、global、localを選択できます。 詳しくはVarの章を参照してください。 | |
| その他 | 通常文 |
| 接頭詞が見つからなかった場合は通常文として処理されます。 文末に「 | 」を加えた後、「 key:value 」形式の引数をスペース区切りで複数つける事ができ、 引数に画像、声、キャラなどの情報を含ませる事により簡単に複数の効果を記述できます。 これはShiaSceがShiaStdoutObjectと連携して良きに計らうためです。 | |
| type | explain |
|---|---|
| str | 文字列 |
| bool | 正負値 正を表すyes/1/true、負を表すno/0/falseを利用できます。 標準はyes/noです。 |
| num | 数値 マイナス有効な整数値です。 |
| float | 浮動小数点値 小数点を含める事ができる数値です。マイナス有効です。 |
| file | ファイル 拡張子省略可なファイルパスです。 |
| point | 座標 (x,y) |
| size | 面積 (width,height) |
| rect | 領域 (x,y,width,height) |
| type | explain |
| SysCall | arg | explain |
|---|---|---|
| 定数系 | ||
| shiaVersion | - | (num) 紫亜の実装バージョンを返す |
| tsbffVersion | - | (num) TSBffの実装バージョンを返す |
| shiaOS | - | (str) 実行中のOS名を返す |
| windowSize | - | (size) 実行中のウインドウサイズを返す |
| runningLine | - | デバッグ用:(num) 実行中の行番号を返す |
| runningScenario | - | デバッグ用:(num) 実行中のシナリオ名を返す |
| シナリオエンジン系 | ||
| quit | - | 終了する |
| - | 再起動する | |
| userchoice | (str)msg,(str)b1,[(str)b2,(str)b3] | (num) 選択肢アラートを表示する msgはメッセージ、b1,b2,b3は選択。b2,b3は省略可能。 ボタンに対応した1〜3の数値を返す |
| beep | - | システムビープを鳴らす |
| runSceAsChild | (file)path | シナリオファイルを子として実行する |
| runSceAsReplace | (file)path | シナリオファイルを自分と置き換えて実行する |
| 比較系 | ||
| isEqual | (num)v1,(num)v2 | (bool) v1 == v2 |
| isNotEqual | (num)v1,(num)v2 | (bool) v1 != v2 |
| isNEqual | (num)v1,(num)v2 | (bool) v1 != v2 |
| isLarger | (num)v1,(num)v2 | (bool) v1 > v2 |
| isSmaller | (num)v1,(num)v2 | (bool) v1 < v2 |
| isMoreThan | (num)v1,(num)v2 | (bool) v1 >= v2 |
| isLessThan | (num)v1,(num)v2 | (bool) v1 <= v2 |
| reverse | (bool)b | (bool) !b |
| (bool)b1,(bool)b2 | (bool) b1&&b2 | |
| (bool)b1,(bool)b2 | (bool) b1||b2 | |
| (bool)b1,(bool)b2 | (bool) b1^b2 | |
| (str)v | (?) vをC言語の式として評価した結果を返す | |
| 文字操作系 | ||
| appendedString | (str)s1,(str)s2,... | (str) 連結した文字列 |
| charAt | (str)s1,(num)n1 | (str) s1のn1個目の文字 |
| stringFrom | (str)s1,(num)n1 | (str) s1のn個目からの文字列 |
| stringTo | (str)s1,(num)n1 | (str) s1のn個目までの文字列 |
| stringAt | (str)s1,(num)n1,(num)n2 | (str) s1のn1個目からn2個目までの文字列 |
| 数値演算系 | ||
| plusAsInt | (num)n1,(num)n2 | (num) 整数値としてn1+n2を計算した結果 |
| minusAsInt | (num)n1,(num)n2 | (num) 整数値としてn1-n2を計算した結果 |
| 変数操作系 | ||
| delVar | (str)s1 | s1で示される変数を削除 |
| isThereVarNamed | (str)s1 | s1で示される変数が存在するか |
| SysCall | arg | explain |