Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以用SWF(Flash角色动画)同步HTML文本或div吗?_Javascript_Jquery_Html_Flash_Sync - Fatal编程技术网

Javascript 我可以用SWF(Flash角色动画)同步HTML文本或div吗?

Javascript 我可以用SWF(Flash角色动画)同步HTML文本或div吗?,javascript,jquery,html,flash,sync,Javascript,Jquery,Html,Flash,Sync,我的HTML页面中有flash动画(swf) 现在,我想让我的flash动画角色(700kb)说对话,相关文本应该弹出并进入页面的html端 我已经用过Marnix van Valen的这段精彩的脚本,他说HTML5很酷。但是,flash呢 有没有办法做到这一点?提前感谢。也许您需要从flash文件中运行一些代码,有一个很好的工具-ExternalInterface 例如as3代码: class Character { public function say(msg:String):void

我的HTML页面中有flash动画(swf)

现在,我想让我的flash动画角色(700kb)说对话,相关文本应该弹出并进入页面的html端

我已经用过Marnix van Valen的这段精彩的脚本,他说HTML5很酷。但是,flash呢


有没有办法做到这一点?提前感谢。

也许您需要从flash文件中运行一些代码,有一个很好的工具-
ExternalInterface

例如as3代码:

class Character {
  public function say(msg:String):void
  {
    trace(msg);
    ExternalInterface.call('say', msg);
  }
}
嵌入swf的html页面上的js代码:

<script>
function say(msg) {
  alert('character says: ' + msg);
}
</script>

函数say(msg){
警报('字符表示:'+msg);
}
所以,当您运行character.say('hi')时,您将在flash控制台(从
trace
)中获得新消息,并弹出消息


希望这能有所帮助。

我将在这个极好的答案中添加一个选项,即使用
ExternalInterface
可以通过两种方式同步Flash和Javascript:
ExternalInterface.call
从Flash调用JS,以及
ExternalInterface.addCallback
添加一个可从JS调用的Flash函数。不要忘记测试与
ExternelInterface.available的兼容性