我需要为使用纯ActionScript在IntelliJ Idea中构建的Adobe Air应用程序添加预加载器/启动画面。
我找到了很多解决方案,但他们都假设有一个flex应用程序。我正在使用flex编译器,但项目不是用flex编写的,所以没有mxml标签才能使用SparkMobileSplashScreen.mxml
可以以某种方式将启动画面图像添加到air应用程序xml文件中吗?
答案 0 :(得分:1)
这是嵌入式预加载器的基本设置。您的文档类应如下所示:
package {
import flash.display.Sprite;
[Frame(factoryClass='Preloader')] //class name of your preloader
public class Main extends Sprite {
public function Main() {
//init
}
}
}
预加载器类:
package {
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.events.ProgressEvent;
import flash.utils.getDefinitionByName;
public class Preloader extends MovieClip {
public function Preloader()
{
//add preloader graphics
//check loading progress
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
}
private function onProgress(e:ProgressEvent):void
{
var percent:Number = Math.round(e.bytesLoaded / e.bytesTotal * 100);
if (percent == 100)
{
this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress);
onLoaded();
}
}
private function onLoaded():void
{
nextFrame(); //go to next frame
var App:Class = getDefinitionByName("Main") as Class; //class of your app
addChild(new App() as DisplayObject);
}
}
}