■概要 |
sketch上で利用される標準的な式の記述方法を解説します。これは一般的な中置記法(挿入記法)とほぼ同様です。
なお符号反転のためのマイナス記号は手抜きがあって利用できません(単項の直値だけは例外です)。詳細は記述例を参照してください。
記述例は、一番下にあります。 |
|
■式を記述できる場所 |
式を記述できる場所は、バージョンアップに伴って、少しずつ増えています。したがって、入力項目の説明に直接記入できるかどうかが表示されるようになっています。
ご利用になっているsketchが表示するコマンドプロパティ内の項目の説明に(式可)等の記述がある部分には、式を指定することができます。
|
 |
|
■式の要素 |
式は、「+-*/」の4つの演算子、および、計算の優先順位を指定する半角カッコ「()」、および下記のレジスタ表記からなります。各レジスタの詳細については「レジスタの利用状況」をご覧下さい
|
表記 |
例 |
説明 |
R* |
R1234, R35 |
通常レジスタの値です。 |
S* |
S1234, S35 |
システムレジスタの値です。 |
L* |
L18, L3 |
ローカルレジスタの値です。 |
F* |
F0〜F31 |
拡張フラグ領域の値で0か1になります。
ユーザーが自由に設定できるインデックス範囲は8〜15で、CMD_DEFCONFIGのユーザー拡張部分で値の受け渡しに使用できるため、め、コンフィグ画面(SystemSettings)の拡張に使われます。
各フラグの意味は次の通り。
0. |
表示履歴にAAを適用する |
1. |
非公開 |
2. |
簡易履歴表示を使用する |
3. |
拡大縮小時、常時高画質で演算する |
4. |
abort/save/load/config のプロパティを左クリックで表示する |
5-7. |
システム予約 |
8-15. |
ユーザー定義 |
16-23. |
ユーザー定義予約(現在は使用しないでください) |
23-31. |
システム予約 |
|
Q* |
Q0 |
Q+mode。Q0:セーブデータがあれば1、なければ0。 |
|
|
|
Mm* |
Mm24 |
音楽用既聴フラグの参照です。0か1になります。 |
Ms* |
Ms12 |
シーン用既遊フラグの参照です。0か1になります。 |
Mg* |
Mg300 |
イベントCG用既見フラグの参照です。0か1になります。 |
Mv* |
Mv12532 |
メッセージ既読フラグの参照です。0か1になります。 |
|
|
|
直値 |
800, -3,
0x24F8 |
直接的な数値です。32bit整数の範囲です。0xで始めると16進数を、0bで始めると2進数を記述できます。xおよびbは小文字でなければなりません。
|
|
|
■式の評価順 |
条件式と違って、通常の数式と同様です。その代わり、解析に多少負荷がかかります。
計算の過程で0で割られる操作が発生すると、デバッグメッセージを出力し、計算を中断して0を返します。ただし、この返される0に依存するコードを書いてはなりません。変更される可能性があります。 |
|
■記述例 |
125+43 |
|
168になります。 |
R1200+43 |
|
通常レジスタの1200番の内容に43を足した値になります。 |
R1200+R400*L10 |
|
400番レジスタの内容に、ローカルレジスタ10番の内容を掛けたものを、1200番レジスタの内容に加えた値になります。 |
(R1200+R400)*L10 |
|
上記と似ていますが、先に足し算を行います。 |
-100 |
|
符号反転のためのマイナス記号は手抜きのため取り扱えませんが、単項の直値だけは許されます。 |
-R200 |
|
この表記は現在のところ許されません。どうしても表記したい場合は、0-R200
としてください。 |
R100+(-200) |
|
この表記は現在のところ許されません。R100+(0-200)、または、R100-200
としてください。 |
R100/-R150 |
|
したがって、これもダメです。R100/(0-R150) や、0-R100/R150 などとしてください。 |
Q0+100 |
|
フラグは0または1の値を持ちます。したがってこれは、セーブデータがなければ100に、あれば101になります。 |
|
|
|
|
|