如何为 android 应用程序添加启动图像到 adobe air?
How to add a splash image to an adobe air for android application?
我需要向我在 IntelliJ Idea 中使用纯 Actionscript 构建的 Adobe Air 应用程序添加预加载器/初始屏幕。
我找到了很多解决方案,但它们都假设是 flex 应用程序。我正在使用 flex 编译器,但项目不是用 flex 编写的,所以没有 mxml 标签以便使用 SparkMobileSplashScreen.mxml
能否以某种方式将启动画面图像添加到 air 应用程序 xml 文件中?
这是嵌入式预加载器的基本设置。您的文档 Class 应如下所示:
package {
import flash.display.Sprite;
[Frame(factoryClass='Preloader')] //class name of your preloader
public class Main extends Sprite {
public function Main() {
//init
}
}
}
预加载器Class:
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);
}
}
}
我需要向我在 IntelliJ Idea 中使用纯 Actionscript 构建的 Adobe Air 应用程序添加预加载器/初始屏幕。
我找到了很多解决方案,但它们都假设是 flex 应用程序。我正在使用 flex 编译器,但项目不是用 flex 编写的,所以没有 mxml 标签以便使用 SparkMobileSplashScreen.mxml
能否以某种方式将启动画面图像添加到 air 应用程序 xml 文件中?
这是嵌入式预加载器的基本设置。您的文档 Class 应如下所示:
package {
import flash.display.Sprite;
[Frame(factoryClass='Preloader')] //class name of your preloader
public class Main extends Sprite {
public function Main() {
//init
}
}
}
预加载器Class:
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);
}
}
}