AS コードを含むフラッシュ ファイルがあります。AS の機能を実行する Javascript を実行したいと考えています。例: AS には、「loadXML」という関数があります。「pawel」という SWF ファイルを保持するオブジェクト (オブジェクトの ID)。「pawel」関数「loadXML」で実行されるJavascriptコードを実行するにはどうすればよいですか? AS 3 で Flash 6 を使用しています。
3 に答える
ここでの目標は、swf (外部の .as ファイルをコンパイルしたもの) に xml ファイルの場所をサーバー上のどこかに送信して、swf が何かをコンパイル、解析、および作成できるようにすることだと思います。
フラッシュ変数を使用してこれを何度も行ってきましたが、これはあなたにも役立つかもしれません。Web ページに .swf を埋め込む場合、js または html を介してフラッシュ変数を送信するか、php を使用して動的に送信できます。fla がハードコードされた変数 (xml など) で完全に機能するようになったら、フラッシュ変数コードをヘッドに追加し、fla にいくつかの小さな調整を加えます。これらの外部変数に依存するようになりました)
とにかく、これが私がフラッシュ変数を行う方法です(他の方法があります。Googleで検索する価値があります)
import flash.net.*;
var flashVars:Object = new Object();
flashVars = this.loaderInfo.parameters;
var xmlVal;
for (var item:String in flashVars)
{
switch (item)
{
case "xmlLocation" :
xmlVal = String(flashVars[item]);
break;
}
}
値を送信する JavaScript は次のとおりです。
<script type="text/javascript">
//flashObj
var flashvars = {};
flashvars.xmlLocation = "http://google.com/myXML.xml";
var params = {wmode:"transparent"};
var attributes = {};
swfobject.embedSWF("images/banner.swf", "yourSliderId", "175", "300", "9.0.0", false, flashvars, params, attributes);
</script>
これは、swf 埋め込みを処理するために SWFObject (オープン API フラッシュ埋め込み js ライブラリ) を使用しています。上記のコードを見れば、それを読んで理解できるので、私はそれを好みます。デフォルトの方法は、読んだり、編集したり、理解したりするのが本当に難しいです。
単純に XML が必要で、完了している場合は、これで十分です。JavaScript を使用して「次へ」または「前へ」ボタンを押す必要がある場合は、この Web サイトの記事を参照して ください。 /javascript-in-love-with-flash-control-swf-from-javascript/
これをチェックすることをお勧めしますhttp://www.redcodelabs.com/2012/04/calling-actionscript-method-from-javascript/サンプルと as3/js コードを実行しています。
メソッドを使用する必要がありますExternalInterface.addCallback()
。詳細については、 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html#addCallback () を参照してください。