我在另一个应用程序(Articulate Storyline)中嵌入了一个swf,我正在使用ExternalInterface从这个应用程序中检索值,如下所示:
stop();
import flash.external.ExternalInterface;
var myFlashVar:Number = ExternalInterface.call('GetPlayer().GetVar',"myStorylineVar");
if (myFlashVar == 1) {
play();
}
这一切都很好,但我想知道我是如何不断听取“myStorylineVar”的价值所以当它改变时,我可以执行我的行动。
非常感谢!
答案 0 :(得分:0)
使用ExternalInterface,您还可以从JS代码调用AS函数。我觉得它对你很有帮助。一些例子:
// as3
ExternalInterface.addCallback("myFunction", myFunctionCallback);
function myFunctionCallback(someArg:String):void {
doStuff();
}
// js
<script language="JavaScript">
var callResult = flashObject.myFunction("someValue");
</script>
因此,在你的情况下,当js中的值发生变化时,你可以调用一些as3函数并执行你需要的动作。