Javascript 从JS调用AS3方法
我看到在这方面已经有问题了,但是在检查了所有这些并匹配了我的代码之后,我无法得到正确的效果。我试图从JS调用一个简单的AS3方法 详情如下: AS3: Javascript:Javascript 从JS调用AS3方法,javascript,actionscript-3,flash,Javascript,Actionscript 3,Flash,我看到在这方面已经有问题了,但是在检查了所有这些并匹配了我的代码之后,我无法得到正确的效果。我试图从JS调用一个简单的AS3方法 详情如下: AS3: Javascript: function FlashReady() { swf = document.getElementById("CaviaGame"); co
function FlashReady()
{
swf = document.getElementById("CaviaGame");
console.log(swf);
}
function ShoppingMallClicked()
{
$(".shoppingmallbtn").effect("shake", { times:3 }, 5);
console.log(swf);
swf.ReturnMall();
}
<div align="center" id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="760" height="760" name="CaviaGame" id="CaviaGame" align="top">
<param name="movie" value="CaviaGame.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 value="true" name="swLiveConnect" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="always" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="CaviaGame.swf" width="760" height="760">
<param name="movie" value="CaviaGame.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 value="true" name="swLiveConnect" />
<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>
这可能是包含代码的引用swf的另一个swf吗?还是全部都是从html输入的swfObject调用的?如果它是另一个,我将如何引用它
任何建议我都很感激,因为我真的找了这么多,我被难住了
谢谢 AS3代码在cavigame.swf或CaviaMapViewer.swf中包含外部接口的内容也是这样吗?它位于一个名为“CaviaMapViewer”的类中,位于“com”文件夹中,cavigame和CaviaMapViewer都链接到该文件夹。不仅如此,我还分别在Cavigame.as和CaviaMapViewer.as中为此设置了代码,以尝试和调试问题,两者都没有任何不同……我认为您应该使用swfobject来放置swf标准。这里有一篇关于使用swfobject和js的帖子,应该可以使用:谢谢你的回复。我可能完全错了,但从我在谷歌上看到的情况来看,我已经在使用swfObject进行静态发布了。我可以看到您可以动态发布Flash,但我不确定这会如何改变场景?我看到了这种制作方法,并且认识到了这个公式。确保加载了swf,然后创建对swf的引用,创建addCallback,然后使用该引用通过命名addCallback中的字符串第一个参数在Flash中调用该方法。。我的项目仍然不起作用:哦,伙计们,我终于找到了问题的答案。这有点让人困惑。我引用了错误的swf。如果您查看我在html中放置swfObject的位置,您会注意到“如果!IE的分区没有ID或名称。问题是,如果使用另一个引用,它仍然会创建一个正确的引用,这可能会令人困惑,因为尽管有一个正确的引用,但swf并不存在。它只存在于世界上!IE版本。确保引用两个版本:
function FlashReady()
{
swf = document.getElementById("CaviaGame");
console.log(swf);
}
function ShoppingMallClicked()
{
$(".shoppingmallbtn").effect("shake", { times:3 }, 5);
console.log(swf);
swf.ReturnMall();
}
<div align="center" id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="760" height="760" name="CaviaGame" id="CaviaGame" align="top">
<param name="movie" value="CaviaGame.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 value="true" name="swLiveConnect" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="always" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="CaviaGame.swf" width="760" height="760">
<param name="movie" value="CaviaGame.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 value="true" name="swLiveConnect" />
<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>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="760" height="760" name="CaviaGame" id="CaviaGame" align="top">
Uncaught TypeError: undefined is not a function
public function initializeMapViewerModule()
{
global.GameMode = "LoadingMapViewer";
// Initiate MapViewer Load
var queue:LoaderMax = new LoaderMax({name:"MapViewerQueue", onComplete:onLoadMapViewerModule});
queue.append( new SWFLoader("CaviaMapViewer.swf", {name:"CaviaMapViewer", estimatedBytes:5000, x:0, autoPlay:false}) );
queue.load();
} // END - initializeMapViewerModule