top

第9回 Directorでの変数の利用

変数とは

自分で用意する、何かを入れておく「箱」のようなものです。
(この箱の中に、数値や文字列を入れておいて、入れ替えたり参照したりします。)

フラグとは

プログラミングの世界で用いられる用語。

アドベンチャーゲーム等でのシナリオ分岐を制御するための情報をあらわし、この場合は小さなフラグ (あるアイテムを持っているか、特定のイベントを通過しているか、等) の掛け合わせの結果がゲーム上の分岐結果として表面化することになる。 それを察知して、プログラム上の制御を予測してプレイヤーの望む結果を得るための操作を行うことが「フラグを立てる」「フラグ立て」という俗語としてゲーマーの間では一般化している。【はてなキーワードより】

スクリプトの基礎(おさらい)

スクリプトの基本
スクリプトの時間の流れ

自分でフラグを立ててみよう
Common/配布/プロトタイプ2(柿山)/09/flag_0.dir【練習板】
Common/配布/プロトタイプ2(柿山)/09/flag_base.dir【完成版】

  1. ドラックすると、てくてく歩くヒトを作る。
  2. 鍵を配置する。
  3. フラグの結果を表示するフィールドを配置する。
  4. ドアを重ねて配置し、初期設定で、閉じたドアだけ表示されるようにする。
  5. 鍵とヒトとの接触判定を行い、鍵フラグをたてる。
  6. ヒトとドアの接触判定を行い、鍵フラグが立っていたら、ドアが開くようにする。
     ↑ 開いたら、「おめでとう」との警告ウインドウが開くようにする。

当り判定

接触スプライトとスプライトが接しているかどうかの判定を参照して、当り判定をさせます。

spriteintersects

スプライト●とスプライト■が、
接している時は、【TRUE】を
接していない時は、【FALSE】が得られます。

グローバル変数とローカル変数

Directorにおける変数には、2つの種類があります。

ローカル変数
 ・ハンドラの中でだけ、生き残る変数です。
 (ハンドラの処理が終わると、自動的に消去されます。)
 ・突然定義をして利用することができます。

グローバル変数
 ・ムービーが終了するまで、生き残っている変数です。
 (強制的に消去するまで、生き残っています。)
 ・各ビヘイビア(ウインドウ)の冒頭で、定義(宣言)をする必要があります。
  例:ユーザー名を格納するグローバル変数を使います↓
    global username --ユーザー名を格納する為のグローバル変数

* 変数を作る際のきまりごと
 
・Directorがすでに利用している単語は利用できません。(色が変わったらつかえません)
 ・数字からはじめる単語はダメです。アルファベットからはじめる。

変数関連参考スクリプト

●を、■の値にする。 setto
ex.  set username to "kakiyama"
   
■の中に、●を入れる。 putinto
ex.  put "kakiyama" into username

グローバル変数の確認方法(Directorとの会話方法)

メッセージウインドウの利用
【ウインドウ】→【メッセージ】で、メッセージウインドウが表示されます。
(ショートカット : Command + M)
(これは、Directorと会話をするウインドウです。)

オブジェクトインスペクタの利用
【ウインドウ】→【オブジェクトインスペクタ】で、メッセージウインドウが表示されます。 (ショートカット : shift + Command + F11)
定義したグローバル変数の現状を、表示してくれます。
定義されているグローバル変数を、メッセージウインドウに表示する。showGlobals

変数によるキーボードの同時押しの実現に関して(余裕があれば)
Common/配布/プロトタイプ2(柿山)/09/if_and3.dir【完成版】

配布方法【誰でも何処でも見られるようにする】

Directorで作ったコンテンツは、Directorがインストールされたコンピュータでしか
再生できません。それでは困るので、Directorからアプリケーション化して、MacやWinであれば動作する形式に書き出すことができます。

「ファイル」→「パブリッシュ設定」でMac用(.appファイル)とWin用(.exeファイル)
を書き出します。なお、Director内で利用した映像ファイル(.aviや.mov)に関しては
これらのファイルには含まれない為、映像ファイルは上記で書き出したファイルと、
一緒に持ち歩く必要があります。

プロタイプシミュレーション2の今後に関して

12月22日、シミュレーター作成の会
1月5日 2限(補講-シミュレータ学生のフォロー)
1月5日 3限(正規授業-評価実験)

となりますので、そろそろ、どういった実験をやるのかを
考えはじめてください。