これは RuntimeRevolution 1.1.1 のヘルプにある文書を邦訳したものです。この文書の文責はUDIにあり、またUDIはこの文書についての一切の債務を負いません。 間違いがありましたら eudio@chabashira.co.jp までお知らせ下さい。この文書は必要と思われる時に適宜アップデートされます。
Help -> Revolution Documantation -> Development Guide -> Writing Transcript code -> About... the structure of a script
About the structure of a script
スクリプトの構造
==============
参照:
--------------
About commands and functions, How to edit an object's script, end keyword, function control structure, getProp control structure, local command, on control structure, script property, setProp control structure
スクリプトとは、Transcript コードで書かれた、ひとつのオブジェクトプロパティである。このトピックでは、スクリプトの構成要素、スクリプト全体の構造、スクリプトをコンパイルするプロセスについて、解説する。
このトピックを充分に理解するためには、オブジェクトの作り方と簡単なスクリプトの書き方について知っている必要がある。もし 'Getting Started' チュートリアルが済んでいるなら、このトピックを理解するための情報は得られている。
Contents:
What is a Script?
Declarations and Comments
Handlers
Compiling a Script
What is a Script?
スクリプトとは何か?
スクリプトとは、script と呼ばれるプロパティに入れられた、ある規則に従ってまとめられたテキストの集まりである。 Revolution の各オブジェクトは(それが empty であれ)スクリプトを持っている。スクリプトのテキストは、スクリプトエディタを使って編集することが出来る。
オブジェクトのスクリプトプロパティをコンパイルする時、Revolution はハンドラのリストを作成する。後で Revolution がオブジェクトにメッセージを送る時、そのオブジェクトがそのメッセージに対応するハンドラを持っているか、そのリストがチェックされる。そしてもしハンドラがあれば、それを実行する。この解説を読めば、スクリプトがハンドラの集合体であり、全てはスクリプトプロパティの中にあるということが、次第に理解できるようになるだろう。
スクリプトには、ハンドラに加えて、コメント( Transcript ではない、実行されない注釈)や、変数と定数の宣言文を含めることが出来る。
他のプロパティと同様、スクリプトプロパティはハンドラやメッセージボックスから set コマンドを使って設定することが出来る。 Revolution のスクリプトエディタを使う場合は、Apply ボタンをクリックすれば、オブジェクトのスクリプトプロパティを新しいものに変更することが出来る。
A note for Starter Kit users:
スターターキットを使う場合の注意:
無料のスターターキット版は、コンパイル出来るスクリプトの長さに制限がある。(ライセンスを受けた Revolution のコピーには、そのような制限はない) スターターキットの制限内で効率よく作業するには、Revolution ドキュメンテーションの 'Using the Starter Kit' を参照しなさい。
Declarations and Comments
宣言とコメント
任意の行(やその一部)に、二重のダッシュ( -- )やハッシュマーク( # )で始まるコメントを置くことが出来る。もしコメントに Transcript の構文が入っていても、Revolution はそれを無視する。これらのキャラクタで始まる行は、「コメントアウトされた」行と呼ばれる。
この機能を使って、一時的に文やハンドラを取り除くことが出来る。(複数行を一度にコメントアウトするには、スクリプトエディタの Script メニューから 'Comment' を選択する)
コメントは実行されないので、ハンドラの中でも、ハンドラの外にも、スクリプトのどこにでも置くことが出来る。
宣言文は変数や定数を作るコマンドである。 global、local、constant コマンドによる宣言文は、ハンドラの中、またはハンドラの外に置くことが出来る。もし宣言文がハンドラの中にある時は、その変数や定数はそのハンドラの中でだけ有効である。もし宣言文がハンドラの外にあった場合は、その変数や定数は、そのスクリプトの全てのハンドラで有効である。
宣言文は、ハンドラの外に置くことの出来る唯一のコマンドである。
Handlers
ハンドラ
各ハンドラは完結したコードから出来ており、独立して実行することが可能である。ハンドラには4つのタイプがある: メッセージハンドラ、関数ハンドラ、getProp ハンドラ、そして setProp ハンドラである。
Message handlers:
メッセージハンドラ:
それぞれのメッセージハンドラは on 制御構造で始まり、そのハンドラが受け取るメッセージの名前がその後に続く。ハンドラは end 制御構造に続くメッセージ名で終わる。メッセージハンドラはこのようになる:
on mouseUp beep end mouseUpハンドラを含むスクリプトを持つオブジェクトがメッセージを受け取った時に、そのメッセージハンドラが実行される。このサンプルは mouseUp メッセージに反応するハンドラである。
function currentDay return item 1 of the long date end currentDay関数ハンドラは、同じスクリプト内(や、オブジェクト階層内でより下にあるオブジェクトのスクリプト)で、関数がコールされた時に実行される。このサンプルハンドラは今日の曜日を返す。
getProp myCustomProperty return the scroll of me + 20 end myCustomPropertygetProp ハンドラは、Transcript 文からカスタムプロパティの値を要求された時に実行される。
setProp myCustomProperty newSetting set the hilite of me to true pass setProp end myCustomPropertysetProp ハンドラは、そのハンドラと同じ名前のカスタムプロパティが、set コマンドによって変更される時に実行される。