bry*_*nsh 1 actionscript-3 flash-cs5
我是整个动作脚本/ Flash世界的新手......但是试着自学足以完成某些事情.
我确定答案很简单......但我有一个.as文件,其中包含以下代码:
package
{
import flash.external.ExternalInterface;
public class Sender
{
public function Sender()
{
ExternalInterface.call("func1()");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个fla使用以下代码(我没有碰过其他内容):
import Sender;
var mySender:Sender = new Sender();
Run Code Online (Sandbox Code Playgroud)
现在发布后,我对html文件进行了一些调整(包含在下面)....我的Javascript被调用(是的!).不幸的是,在解除警报后,它再次被召唤......再次.......再次.我不知道为什么(我已经确认我的flash电影没有设置为循环,但这就是我所拥有的).任何帮助将不胜感激!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>sender</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
html, body { height:100%; background-color: #ffffff;}
body { margin:0; padding:0; overflow:hidden; }
#flashContent { width:100%; height:100%; }
</style>
<script>
function func1()
{
alert('hello external stuff');
}
</script>
</head>
<body>
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="1" height="1" id="sender" align="middle">
<param name="movie" value="sender.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="always" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="sender.swf" width="1" height="1">
<param name="movie" value="sender.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="always" />
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在你发布的html代码中,它说
<param name="loop" value="true" />
Run Code Online (Sandbox Code Playgroud)
这可能是原因.
编辑:也许您只在IDE中检查了.swf导出的文件是否循环,但是CS5生成的html无论如何都放入了标签.
编辑2:我同意gmale你应该放入stop();你的代码.如果你把你的代码其他地方(或者,如果你想别人使用它),他们可能会loop设置为true,在这种情况下,对其进行编码,以做到万无一失是你唯一的办法,以确保它不循环.该原则适用于所有AS3代码.
| 归档时间: |
|
| 查看次数: |
2561 次 |
| 最近记录: |