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

callFrame

ID: FN0206001 Product: Director

Platform: All
Viersion: 8.5 and above

シンタックス
mySprite.callFrame(フレーム)

引数
フレーム   フレーム番号またはフレームラベル。

解説
コマンドは、Flashスプライトを参照して実行します。参照されたFlashスプライトの指定したフレームに記述されているフレームアクションを実行します。

実行するActionScriptは、Flashムービーのメインのタイムラインにフレームアクションとして記述します。メインのタイムラインのフレームは、フレーム番号またはフレームラベルで指定します。この'callFrame'コマンドは、Flash 4の'call'関数をシミュレートします。

例文
以下のステートメントは、スプライト1に設定したFlashムービーのフレーム10に記述されたフレームアクションを実行します。

sprite(1).callFrame(10)

[注記] 'callFrame'コマンドは、ActionScriptの'call'関数と同様、フレームアクションを単純に実行するだけです。'function'の呼出しや引数を渡すことは、できません。ただ、つぎに紹介する手法により、ストリングの引数をひとつ渡して、'function'またはMovieClipのメソッドを実行することは可能です。

以下のFlash ActionScriptおよびDirectorのムービースクリプトを設定して、つぎのようにメッセージウィンドウからムービースクリプトを呼出せば、Flashムービーのメインのタイムラインに配置されたMovieClipの"myMovieClip_mc"をターゲットに、ムービーと同階層にある外部SWFファイル"Load.swf"をロードします。

-- メッセージウィンドウからの実行例
xCallAction(sprite(1), "_root.myMovieClip_mc", "loadMovie", "Load.swf")

// [Flashムービーのfunctionを実行するActionScript]
// メインのタイムラインのフレームアクション
// フレームラベル: dirExecutes
eval(dirTarget)[dirAction](dirArgument);
delete dirTarget;
delete dirAction;
delete dirArgument;

-- [DirectorからFlashのfunctionを実行するムービースクリプト]
on xCallAction(oSprite, sTarget, sAction, sArgument)
   setVariable(oSprite, "dirTarget", sTarget)
   setVariable(oSprite, "dirAction", sAction)
   setVariable(oSprite, "dirArgument", sArgument)
   oSprite.callFrame("dirExecutes")
end

参考資料
Macromedia TechNote「Documentation correction: Flash Call command

_____

作成者: 野中文雄
作成日: 2002年6月4日


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