Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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 从JS调用AS3方法_Javascript_Actionscript 3_Flash - Fatal编程技术网

Javascript 从JS调用AS3方法

Javascript 从JS调用AS3方法,javascript,actionscript-3,flash,Javascript,Actionscript 3,Flash,我看到在这方面已经有问题了,但是在检查了所有这些并匹配了我的代码之后,我无法得到正确的效果。我试图从JS调用一个简单的AS3方法 详情如下: AS3: Javascript: function FlashReady() { swf = document.getElementById("CaviaGame"); co

我看到在这方面已经有问题了,但是在检查了所有这些并匹配了我的代码之后,我无法得到正确的效果。我试图从JS调用一个简单的AS3方法

详情如下:

AS3:

Javascript:

                        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