スクリプトを細かく見てみよう

では”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でおなじみかもしれない。


  命令名(パラメータ名=パラメータ値);

パラメータはカンマ区切りで複数指定できる。


  命令名(パラメータ名=パラメータ値, パラメータ名=パラメータ値, ...);

Decor_Text 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の特徴が少しばかり垣間見えて来たのではなかろうか。


Leave a Reply

*