Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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
Java 如何正确加载多个外部swf文件?_Java_Html_Actionscript 3_Flash_Jquery Animate - Fatal编程技术网

Java 如何正确加载多个外部swf文件?

Java 如何正确加载多个外部swf文件?,java,html,actionscript-3,flash,jquery-animate,Java,Html,Actionscript 3,Flash,Jquery Animate,我正在制作一个互动游戏。我现在有6个swf文件需要加载,我需要按顺序播放它们 关于这个话题,我有很多问题,以下是:) 第一个问题:在电影场景之后,如何加载外部swf文件 在我的第三个swf文件中,我喜欢一个电影场景,它将在30秒左右完成。我知道延迟方法,但当我已经上传到我的网站时,它是否能顺利运行 第二个问题:如何在用户开始玩游戏之前加载所有外部文件 在让用户玩游戏之前,如何一次加载所有swf文件 下面是我代码的部分示例: import flash.events.MouseEvent; impo

我正在制作一个互动游戏。我现在有6个swf文件需要加载,我需要按顺序播放它们

关于这个话题,我有很多问题,以下是:)

第一个问题:在电影场景之后,如何加载外部swf文件

在我的第三个swf文件中,我喜欢一个电影场景,它将在30秒左右完成。我知道延迟方法,但当我已经上传到我的网站时,它是否能顺利运行

第二个问题:如何在用户开始玩游戏之前加载所有外部文件

在让用户玩游戏之前,如何一次加载所有swf文件

下面是我代码的部分示例:

import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;

var myClip:MovieClip = root as MovieClip;
var externalClip:MovieClip;
var myLoader:Loader = new Loader();
var myLoader1:Loader = new Loader();

myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,       loaderCompletedHandler);


function loaderCompletedHandler(evt:Event):void {
externalClip = myLoader.content as MovieClip;
externalClip.ext_btn.addEventListener(MouseEvent.CLICK,extCommunicate);

  function extCommunicate(evt:MouseEvent):void {
    trace("TEST");
    myLoader1.contentLoaderInfo.addEventListener(Event.COMPLETE, thirdloaderCompletedHandler);
    var newstring:String = "third.swf";
    var newREQ:URLRequest = new URLRequest(newstring);
    addChild(myLoader1);
    myLoader1.load(newREQ);
    myLoader1.x=40;
    myLoader1.y=20;
    removeChild(myLoader);
  }
}

function thirdloaderCompletedHandler(evt:Event):void {
    trace("YEAH");
}

var externalString:String = "external.swf";
var urlREQ:URLRequest = new URLRequest(externalString);

playbtn.addEventListener(MouseEvent.CLICK,swfLoad);
function swfLoad(evt:MouseEvent):void {
    addChild(myLoader);
    myLoader.load(urlREQ);
    myLoader.x=40;
    myLoader.y=20;
}
第三个问题:上述代码是否是加载多个swf文件的正确方法?

许多问题。。。(1) 您可以通过帧操作来连接许多swf文件,而不是通过AS3来加载它们。这样可以确保只有在上一部电影结束时才能加载下一部电影。或者,按照您的说法,您只能在第一个“电影”场景结束后加载下一部电影。因此,不要使用“延迟”,因为这将根据用户在机器和带宽方面的配置产生非常不同的结果

(2) 你可以像预加载一部电影一样,一次性地预加载所有电影,只需编写正确的代码,检查是否加载了电影1,然后是电影2等等

(3) 测试您自己的代码并验证它是否有效。如果没有,请尽量了解错误消息和条件,并在StackOverflow这里打开另一个问题,公开所有场景、您拥有的内容、您得到的内容以及您期望的内容。
最好的

谢谢你的回答,我很感激。电影场景仅在我的第二个swf(不是第三个)文件中。其他swf文件将由mousevent操作加载。这将是场景-主SWF具有播放按钮,将加载第二个SWF-第二个SWF具有电影场景,并将在之后加载第三个SWF。-第三至第六个swf也将通过单击按钮加载。谢谢。就这样,你明白了。首先加载,在“播放”时加载电影,并在结尾处放置一个帧动作以加载第三个。电影。请带着您的结果和疑问尽快返回,如果我能为您提供更多帮助,我将不胜荣幸(在之前的actionscript上有许多夜晚…)。但是,新的问题。。。这一次结束了:)非常感谢。我得到了它。一次加载所有swf文件怎么样?你能告诉我怎么做吗?目前,我只是基于用户交互加载每个swf文件(第三个swf除外)。我试图在我的网站上播放它,但是加载每个swf文件花费的时间太长。这是你想要的。仔细遵循说明,仔细关注所有次要方面,您将立即加载所有主权财富基金。然后,当你真的需要他们玩的时候,他们会立即运行,因为他们已经被加载了:(请,如果这对你有帮助,别忘了在这里检查我的答案作为你的有效答案)。谢谢你,坚持下去。非常感谢你,那个教程将帮助我提高:)