繁体   English   中英

如何将外部.swf预加载器与实际.swf结合?

[英]How to combine external .swf preloader with actual .swf?

我有一个.swf文件,可以加载游戏中的外部.swf文件。 有没有办法将两个瑞士法郎合并为一个? 这是.swf中加载外部游戏的代码:

import flash.display.*;
import flash.net.*;
import flash.events.*;

var array:Array = new Array ("Loading Bugs..","Everyone hates loading screens..","Lovely day, isn't it?", 
"Want instant updates? Follow us on Twitter!", "A game where you can kill bugs, pretty cool...huh?"); //create an array of possible strings
var randomIndex:int = Math.floor ( Math.random () * array.length ); //generate a random integer between 0 and the length of the array
loading_txt.text = array [ randomIndex ]; //put the random string in your text field
var myRequest:URLRequest = new URLRequest("insectGame.swf");

var myLoader:Loader = new Loader();
myLoader.load(myRequest);

function showProgress(evt:ProgressEvent):void 
{

    txtPreloader.text = Math.round((evt.bytesLoaded/evt.bytesTotal)*100) + "%";


    mcPreloaderBar.width = Math.round(evt.bytesLoaded/evt.bytesTotal * 200);    
}

function showLoaded(evt:Event):void 
{
    myLoader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,showProgress);
    myLoader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,showLoaded);
    removeChild(txtPreloader);
    removeChild(mcPreloaderBar);
    removeChild(mcPreloaderFrame);
    removeChild(Mosquito);
    removeChild(loading_txt);
    mcPreloaderBar = null;
    mcPreloaderFrame = null;
    txtPreloader = null;
    loading_txt = null;
    addChild(myLoader);
}

myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,showProgress);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,showLoaded);

您可能要在主swf文件的第一帧中实现预加载器。 因此,您应该拥有实际的.swf的来源。 如果您使用的是Flash Builder,请签出mxmlc编译器的-frame参数。

此方法的核心思想是将预加载器分配为应用程序的主类,再向swf文件添加1帧,并且您不直接实例化gameClass。 当内容完全加载(framesLoaded == totalFrames)您可以使用以下代码创建游戏类的实例:

var gameClass:Class = Class(getDefinitionByName("GameClass"));
if(gameClass)
{
 var app:Object = new gameClass();
 addChildAt(app as Sprite, 0);
}

这是有用的链接: http : //www.drewing.de/blog/2009/09/23/building-a-preloader-with-actionsscript-3-using-mxmlc-and-the-frame-pragma/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM