javascript - 使用 AS3 或 JS/Jquery 在 SWF 动画结束时执行 JavaScript 函数

标签 javascript jquery actionscript-3 flash animation

我一直在寻找问题的答案,我制作了一个 Flash 动画。我正在尝试在它结束时启动一个功能。 我试过直接在Flash中做,我不知道我是否做对了。 我的代码:

JavaScript

$(document).ready(function() {
    flashMovie = $('#wrapanim .movie');
    flashMovie.flash({
        swf: 'RechercheYT.swf',
        width: 1000,
        height: 650,
        play: true,
    });
$("#skipA").click(function() {
        enter();
    });

});
function enter()
{
$("#wrapanim").fadeOut(200); 
.....
}

HTML

<div id="wrapanim">
        <div id="skipA" class="skip">
            X
        </div>

        <div class="movie"></div>
    </div>

对于 AS3 解决方案:在最后一个关键帧上我放置了以下代码:

import flash.external.ExternalInterface;
ExternalInterface.call("enter()");

It didn't worked. The last clip of my animation kept running indefinitely.

我曾经直接使用 setTimeout() 来启动 Enter() 函数,但我不喜欢这个解决方案,它可能会导致一些问题,动画可能会在结束之前被剪切。

为了简单起见,我正在寻找一种在 SWF 文件末尾执行 JavaScript 函数的方法。

感谢所有花时间回答和帮助我的人。

EDITS :

谢谢你的回答,你写的我都试过了,还是不行。我什至尝试了多种嵌入 SWF 的方法,仍然是同样的问题。

<object type="application/x-shockwave-flash" data="RechercheYT.swf" 
style="width:1000px;height:650px;">

<param name="movie" value="RechercheYT.swf" />
<param name="AllowScriptAccess" value="always" />
<param name="wmode" value="opaque" />
<param name="quality" value="high" />
<param name="menu" value="false" />

</object>

关于我的动画:

import flash.external.ExternalInterface;
ExternalInterface.call("enter");

(无论括号与否,我都有同样的问题)对于我尝试的每个代码,总是同样的问题,动画显示完美,但最后一个影片剪辑并且只有最后一个影片剪辑不断转动。所以我开始认为它来自动画,也许不是代码,如果是这种情况,我不知道该怎么办。

最佳答案

您的问题可能是由于您的ExternalInface调用中的括号引起的:

ExternalInterface.call("enter()");

改用这个:

ExternalInterface.call("enter");

此外,请确保您允许在 swf 嵌入代码中进行脚本访问:

<param name='AllowScriptAccess' value='always'/>

关于javascript - 使用 AS3 或 JS/Jquery 在 SWF 动画结束时执行 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24047757/

相关文章:

javascript - jQuery 用博客日期标题的跨度替换连字符

javascript - 对象不支持属性或方法 'remove'

javascript - 使用 javascript 和 ajax 解析 Web 服务的 xml 响应

apache-flex - 在类之间调度事件

flash - 如果没有 System.gc() 调用,对象不会被删除

javascript - Highcharts 有什么方法可以在散点图上自动显示标签/文本吗?

jquery - 启用按钮,使用 jquery.load 检查复选框

jQuery 为什么 $(this) 在 setTimeout 方法中不起作用?

actionscript-3 - Flashdevelop 调试器 - System.BadImageFormatException

javascript - 为什么Redux.js在init上多次启动reducer函数?