MysticSLリファレンス

※このページのサンプルは体裁を整えるため全角スペースを使用しています

基本フォーマット

MysticSLはシーケンシャルインタプリタ言語です。シーケンシャルインタプリタとは上から順に実行される方式のインタプリタです。
MysticSLスクリプトの記述の基本フォーマットは以下のとおりです。
SetWindow ["サンプル", 640, 480, -1, -1, 1, 0, 0, 0]

命令[引数, 引数, ...]という記述はすべての命令で共通です。
また命令語は大文字・小文字を問いません(全角は不可)
複数の命令を1行にまとめて記述する場合は、":"(コロン)で区切ります。
#subrogateと変数宣言以外は、タブでインデントすることを推奨します。
位置をそろえたり、間隔を空けて見やすくするためにスペースを入れることがありますが、
その際に使用するスペースは半角を推奨します。


ラベル

ラベルとは、処理の制御をする際の目印となるものです。Goto命令などで処理を飛ばす際に使用します。
また、同じ処理を何度も使用する場合にラベルとReturn命令を使用してひとつの処理にまとめ
GoSubで呼び出すことでスクリプトを見やすくすることができます。このラベルとReturnでまとめられた処理をプロシージャと呼びます。
ラベルは、頭に*をつけた単語がラベル名になります。ラベル名は自由につけることができます。
ラベルは基本的にどこにでも記述することができますが、ラベルのみの行を作ることを推奨します。
Integer [a]
    Goto [*Label01]
    a = 1
*Label01
    a = 2

このサンプルの場合、aには2が入ります。
なお同じラベル名を複数設定することはできません。


16進数

命令語の引数に数値を渡す場合、16進数を使用することができます。
0x00000000という記述方法です。一桁で4ビット、最大32ビットまでです。
PSet [10, 20, 0x00FF00]

上のサンプルのように色の指定に使用すると大変便利です。その場合
各色8ビットずつ24ビットで指定し、0x青緑赤という記述をします。先ほどのサンプルの場合は緑色になります。
数値部分の最初の0は省略することができます。
PSet [10, 20, 0xFF00]



コメント

コメントとは、実際には実行されない文字のことを言います。
その行の、'(アポストロフィ)を記述した以降の文字は無視されます。
コメントを使い、処理に説明をつけたりすることでスクリプトを見やすくします。
Integer [a] '変数宣言
   a = 4 '代入
   'ここからメイン処理
   ...

デバッグ時に、一時的に特定の処理を実行したくない場合にも利用できます。
'をつけて処理から外すことをコメントアウトと言います。

メインへ