サイトトップ

Director Flash 書籍 業務内容 プロフィール
 

Macromedia Director非公式テクニカルノート

on closeRequest

ID: FN0411002 Product: Director

Platform: All
Viersion: MX 2004 and above

シンタックス
-- Lingoシンタックス
on closeRequest
   ステートメント
end

// JavaScriptシンタックス
function closeRequest()
   ステートメント;
}

註 このハンドラはDirector MX 2004のオンラインヘルプ「Directorスクリプトリファレンス」には掲載されていません。しかし、正規にサポートされる機能です。なお、下記「参考」のTechNote参照。

解説
イベントハンドラ   ユーザーが行ったプロジェクタの終了操作を受取ります。

exitLocムービープロパティをTRUEに設定するか、[パブリッシュ設定]ダイアログボックスの[ブロジェクタ]タブで「終了をロック」にチェックを入れる(図001)と、ユーザーがプロジェクタを終了する操作[*1]は無効に(ロック)されます。この場合、ユーザーがプロジェクタの終了操作をすると、on closeRequestハンドラが呼出されます[*2]。

したがって、このイベントハンドラには、ユーザーがプロジェクタの終了操作を行ったときに処理したいステートメントを記述します。ステートメント中にプロジェクタを終了する処理が含まれていないと、他にプロジェクタ終了のスクリプトを設定していないかぎり、ユーザーは通常の操作でプロジェクタを終了することができません[*3]。

図001■[パブリッシュ設定]ダイアログボックスの[プロジェクタ]タブ

「終了をロックする」にチェックを入れるとユーザーの終了操作は無効になる

[*1] プロジェクタウィンドウの閉じるボタンをクリックしたり、Dockやタスクバーのメニューで[終了]または[閉じる]を選択する操作のほか、つぎのようなキーボードショートカットを含みます。

Macintosh: [command]+Q、[esc]
Windows: [Alt]+[F4]、[Ctrl]+Q、[esc]

[*2] プロジェクタの終了をロックしていなければ、ユーザーが終了操作を行っても、on closeRequestハンドラは呼出されません。

また、ユーザーが[*1]の終了操作のうちいずれを行ったのかは、現在の仕様では直接確認することはできません。

[*3] プロジェクタを終了するには、強制終了を実行するしかなくなります。Macintoshではアプリケーションメニューから[強制終了]または[command]+[option]+[esc]、Windowsはタスクバーを右クリックして[タスクマネージャ]または[Ctrl]+[Alt]+[Delete]で、ダイアログボックスから終了すべきアプリケーション(タスク)を選択します。

例文
つぎのムービースクリプトは、ユーザーがプロジェクタの終了操作を行うと、再生ヘッドををマーカー"ending"のフレームに移動します。マーカー"ending"のフレームには、プロジェクタ終了のアニメーションや操作画面を配置しておきます。

-- Lingoシンタックス
-- ムービースクリプト
on startMovie
   _movie.exitLock = true
end

on closeRequest
   _movie.go("ending")
end


// JavaScriptシンタックス
// ムービースクリプト
function startMovie() {
   _movie.exitLock = true
}

function closeRequest() {
   _movie.go("ending")
}

参考
Director TechNote:「Capturing quit (exit) requests when exitLock is enabled

_____

作成者: 野中文雄
作成日: 2004年11月1日


Copyright © 2001-2006 Fumio Nonaka.  All rights reserved.