スクリプトを細かく見てみよう
では”hello’ world”と表示するスクリプトがどういう内容なのか見ていこう。
method Main()
{
CreateText(name="Text", text="hello, world");
Enter(to="Text");
}
プログラミング言語に触れたことのある方は、
パッと見ただけで何をしているのかおおかた予想がつくだろう。
それもそのはず。
Foooスクリプトの文法は代表的なプログラミング言語である
C++言語をベースにしているのだ。
アドベンチャーゲーム用のエンジンなのに
C++に似てるってドユコト!?
っていうツッコミは後でお願いしますwww
method Main()
最初のmethod Main()は、スクリプトを実行すると最初に実行される部分を表している。
とりあえずは必ず書く必要がある”おまじない”のようなものだと思ってもらっていい。
そしてその後の { から } の間に、どんな処理を行うのか記述する。
method Main()
{
// ここに処理を書く
}
処理内容には『命令文』を記述する。
{ } の中に書かれているCreateTextやEnterが命令文だ。
命令は上から書いた順番で実行される。
命令文の書式
命令文は次の書式で記述する。
命令名();
命令文にはその命令の詳細をパラメータとして記述することができる。
パラメータの記法はC++とは異なり、名前付指定形式である。
これはwebページの記述言語であるHTMLでおなじみかもしれない。
命令名(パラメータ名=パラメータ値);
パラメータはカンマ区切りで複数指定できる。
命令名(パラメータ名=パラメータ値, パラメータ名=パラメータ値, ...);
CreateText命令
最初に書かれている命令文はCreateTextだ。
CreateText(name="Text", text="hello, world");
CreateTextの直訳は「文章作成」。
そう、CreateTextはFoooエンジンに対して「文章を作れ」と指示する命令である。
なるほど…と思ったかもだが、しかしここでちょっと立ち止まって考えて見て欲しい。
よくよく考えると「文章を作れ」とは、なんとも違和感のある言葉であるではないか。
「文章を表示しろ」ではないのか。
実はこれが重要。
Foooエンジンは画面に表示されるすべてのものを
『部品』として扱う。
画面に何かを表示したい時は、まずFoooエンジンに部品を作らせる必要がある。
そう、CreateText命令は正確には「文章部品を作れ」と指示する命令なのである。
nameパラメータは新しく作る部品の名前を指定する。
名前は後で部品を操作するために必要なものだ。
ここでは部品に”Text”という名前をつけている。
textパラメータは文章内容である。
Enter命令
2つめの命令文は、Enterだ。
Enter(to="Text");
Enterを直訳すれば「登場」…
EnterはFoooエンジンに「部品を表示状態にしろ」と指示する命令である。
CrateTextは部品を作るだけなので、Enter文で部品を表示状態にする必要がある。
「表示しろ」ではなく「表示状態にしろ」なことに注意して欲しい。
部品は表示するかどうかの状態を持ち、
表示状態である限り画面に表示され続けるのである。
toパラメータには命令の対象となる部品の名前を指定する。
対象は”Text”だ。
このようにして”hello world”と表示しているわけだ。
説明が随分と細かくなったけれど…
こんなシンプルなスクリプトを通してでも、Foooの特徴が少しばかり垣間見えて来たのではなかろうか。