【发布时间】:2009-07-10 09:11:02
【问题描述】:
如何让 HTML 页面只播放一次 Flash 动画,即当一个人返回该页面时,Flash 不会从头开始再次播放,而只会显示动画的最后一帧(甚至是最后一帧的简单 .jpg 图像)?有可能吗?
谢谢, L.
【问题讨论】:
如何让 HTML 页面只播放一次 Flash 动画,即当一个人返回该页面时,Flash 不会从头开始再次播放,而只会显示动画的最后一帧(甚至是最后一帧的简单 .jpg 图像)?有可能吗?
谢谢, L.
【问题讨论】:
您可以在用户第一次访问时保存一个 cookie,以表明该用户之前访问过。 (http://plugins.jquery.com/project/Cookie)
然后,当他们返回时,将该值传递给 flash(使用 flashvars),以便它只知道播放最后一帧。 (http://bowievanling.com/blog/using-flashvars-with-swfobject-20-and-as3/)
使用swfObject 嵌入您的闪存:
<script type="text/javascript">
var flashvars = {
iscookie: "true"
};
var params = {
menu: "false"
};
var attributes = { };
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0","expressInstall.swf", flashvars, params, attributes);
</script>
如果 flashvar iscookie = true,则在 AS3 中加载 frameNumber:
for (var fv in root.loaderInfo.parameters) {
if(fv == 'iscookie'){
if(root.loaderInfo.parameters[fv] == 'true'){
gotoAndStop(frameNumber);
}
}
}
乔什
【讨论】:
除了普通的 cookie,您还可以使用 Flash SharedObject。 它与普通的 cookie 非常相似,但您可以通过 ActionScript 访问它们,因此如果您自己创作 Flash 电影可能会更容易。 您只需保存一个简单的布尔值,然后 Flash 电影在下次打开时就可以看到它,并且知道只显示结束帧。
您可以在此处阅读有关它们的信息: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/SharedObject.html
【讨论】: