package
{
import evt.GameEvent;
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.ProgressEvent;
import flash.geom.Point;
import flash.text.TextField;
import mx.effects.SoundEffect;
import mx.events.FlexEvent;
import mx.preloaders.DownloadProgressBar;
/**
* This class extends the lightweight DownloadProgressBar class. This class
* uses an embedded Flash 8 MovieClip symbol to show preloading. *
* @author jessewarden * */
public class Preloader extends DownloadProgressBar
{
/**
* The Flash 8 MovieClip embedded as a Class. */
[Embed(source="/assets/flash/lisenwell.swf", symbol="loader")]
private var FlashPreloaderSymbol:Class;
[Embed(source="/assets/flash/lisenwell.swf", symbol="startbtn")]
private var FlashBtnSymbol:Class;
[Embed(source="/assets/flash/lisenwell.swf", symbol="mouseOver.mp3")]
[Bindable] public var mouseOverSound:Class;
private var clip:MovieClip;
private var _preloader:Sprite;
public var msg:TextField;
public var btn:SimpleButton;
public var point1:Point;
private var btnSoundEffect:SoundEffect;
public function Preloader()
{
super();
btnSoundEffect=new SoundEffect();
btnSoundEffect.source=mouseOverSound;
// instantiate the Flash MovieClip, show it, and stop it.
// Remember, AS2 is removed when you embed SWF's,
// even "stop();", so you have to call it manually if you embed.
this.clip=new FlashPreloaderSymbol();
// point1=new Point();
// clip.scaleX=1.5;
// clip.scaleY=1.5;
// point1.x=this.x-300;
// point1.y=this.y-300;
// point1=this.localToGlobal(point1);
// clip.x=point1.x;
// clip.y=point1.y;
clip.x=this.x
// clip.y=point1.y;
this.addChild(clip);
this.clip.gotoAndStop("start");
// msg=new TextField();
// msg.text="完成了!!!!";
// msg.x=200;
// msg.y=200;
// addChild(msg);
}
private function centerPreloader():void
{
x = (stageWidth / 2) - (clip.width / 2);
y = (stageHeight / 2) - (clip.height / 2);
trace(x+" y"+y+"myPreloader.width"+clip.width)
}
public override function set preloader(preloader:Sprite):void
{
preloader.addEventListener(ProgressEvent.PROGRESS, onSWFDownloadProgress);
preloader.addEventListener(Event.COMPLETE, onSWFDownloadComplete);
preloader.addEventListener(FlexEvent.INIT_PROGRESS, onFlexInitProgress);
preloader.addEventListener(FlexEvent.INIT_COMPLETE, onFlexInitComplete);
stage.addEventListener(Event.RESIZE, centerPreloader);
_preloader=preloader;
centerPreloader();
}
/**
* Makes sure that the preloader is centered in the center of the app.
* */
// private function centerPreloader(event:Event=null):void
// {
// var adjust_X:Number=300; // X coodinate adjustion according to Object layout.
// var adjust_Y:Number=500; // Y coodinate adjustion according to Object layout.
// x=((stage.stageWidth + adjust_X) / 2) - (clip.width / 2);
// y=((stage.stageHeight + adjust_Y) / 2) - (clip.height / 2);
// }
/**
* As the SWF (frame 2 usually) downloads, this event gets called.
* You can use the values from this event to update your preloader.
* @param event * */
private function onSWFDownloadProgress(event:ProgressEvent):void
{
var t:Number=event.bytesTotal;
var l:Number=event.bytesLoaded;
var p:Number=Math.round((l / t) * 100);
clip.loadA.gotoAndStop(p);
//clip.preloader.amount_txt.text=String(p);
//clip.preloader.amount_txt_img.text=String(p);
}
/** * When the download of frame 2
* is complete, this event is called.
* This is called before the initializing is done.
* @param event * */
private function onSWFDownloadComplete(event:Event):void
{
clip.loadA.gotoAndStop(100);
//clip.preloader.amount_txt.text="100";
//clip.preloader.amount_txt_img.text="100";
}
/**
* When Flex starts initilizating your application.
* @param event * */
private function onFlexInitProgress(event:FlexEvent):void
{
clip.loadA.gotoAndStop(100);
//clip.preloader.amount_txt.text="Init...";
}
/**
* When Flex is done initializing, and ready to run your app,
* this function is called. *
* You're supposed to dispatch a complete event when you are done.
* I chose not to do this immediately, and instead fade out the
* preloader in the MovieClip. As soon as that is done,
* I then dispatch the event. This gives time for the preloader
* to finish it's animation. * @param event *
*/
private function onFlexInitComplete(event:FlexEvent):void
{
_preloader.removeEventListener(ProgressEvent.PROGRESS, onSWFDownloadProgress);
_preloader.removeEventListener(Event.COMPLETE, onSWFDownloadComplete);
_preloader.removeEventListener(FlexEvent.INIT_PROGRESS, onFlexInitProgress);
_preloader.removeEventListener(FlexEvent.INIT_COMPLETE, onFlexInitComplete);
stage.removeEventListener(Event.RESIZE, centerPreloader);
// clip.addFrameScript(121, onDoneAnimating);
clip.gotoAndStop("fade out");
btn=new FlashBtnSymbol();
btn.x=280; btn.y=180;
clip.addChild(btn);
btn.addEventListener(MouseEvent.CLICK,onDoneAnimating);
btn.addEventListener(MouseEvent.MOUSE_OVER,onOver);
//clip.loadA.stop();
trace("fade out ");
clip.stop();
}
/**
* If the Flash MovieClip is done playing it's animation,
* I stop it and dispatch my event letting Flex know I'm done.
* @param event * */
private function onDoneAnimating(evt:MouseEvent):void
{
this.removeChild(clip);
dispatchEvent(new Event(Event.COMPLETE));
}
private function onOver(evt:MouseEvent):void{
btnSoundEffect.play([btnSoundEffect]);
}
}
}
分享到:
相关推荐
MediaTek PreLoader USB VCOM驱动是专为联发科(Mediatek)芯片组设计的一款重要驱动程序,它主要用于在Windows操作系统中建立USB通信接口,以便于开发者进行设备调试、固件升级或数据传输。VCOM(Virtual COM Port...
MT65xx Preloader驱动是针对MediaTek MT65xx系列芯片组的一种关键软件组件,主要负责在Android设备启动过程中的初步加载任务。这个驱动扮演着连接硬件与操作系统的重要角色,确保设备能够正确识别和初始化硬件模块,...
MediaTek PreLoader USB VCOM是联发科(MediaTek)为开发者和用户提供的一个关键组件,主要用于通过USB接口与MediaTek芯片组的设备进行通信。这个工具在Android设备的开发、调试、刷机等过程中起着至关重要的作用,...
MTK6577+Android 编译之 Preloader Preloader 是 Android 系统启动过程中的一个重要组件,负责将 Android 内核加载到内存中。在 MTK6577+Android 编译过程中,preloader 的编译过程是非常关键的。下面我们来分析 ...
### MT6577+Android烧录Preloader后无法启动及重烧系统的问题与解决方案 #### 背景概述 本文旨在探讨与解决基于MT6577平台的Android设备在烧录Preloader后遇到的启动失败及无法重新烧录系统的问题。MT6577是一款由...
MediaTek Preloader USB VCOM Drivers Setup Signed是一款专为MediaTek芯片组设计的USB通信驱动程序,主要用于手机、平板电脑和其他基于MTK平台的设备。这款驱动程序包含了预加载器(Preloader)和VCOM(虚拟串口...
联发科刷机win10驱动, MTK = "...MediaTek PreLoader USB VCOM Port" MTK_SP_DA = "MediaTek DA USB VCOM Port" Serial.SvcDesc = "USB Serial emulation modem driver"
**JavaScript开发:提示加载状态的库——preloader插件** 在网页设计中,用户体验是至关重要的因素之一。当用户点击一个链接或者启动一个资源密集型的操作时,他们往往期待能够看到一个反馈,告知他们页面正在加载...
MT65xx Preloader驱动问题通常出现在使用联发科(MediaTek)MT65XX系列芯片的设备上,这些问题可能阻碍设备的正常启动或导致数据恢复等操作失败。MTK,全称MediaTek Inc.,是一家全球知名的半导体公司,其生产的芯片...
然而,用户在使用这些设备时可能会遇到各种驱动问题,特别是Preloader驱动问题。Preloader是操作系统加载前运行的一小段代码,它负责初始化硬件并为内核启动做好准备。当Preloader出现问题时,可能会导致设备无法...
MediaTek PreLoader USB VCOM Port驱动是专门为Mediatek芯片组设计的一款通信接口驱动程序,主要用于在Windows 10操作系统上实现USB与设备之间的虚拟串口通信(VCOM)。这个驱动程序包含了两个版本,分别是针对64位...
本主题主要关注两个关键的驱动部分:MT65xx Android Phone驱动和MT65xx Preloader驱动。 1. MT65xx Android Phone驱动 Android Phone驱动是Android系统中用于与MT65xx处理器交互的核心组件。它包括了对CPU、内存、I...
标题中的“Windows 10 MTK FLASH USB Preloader Drivers”指的是专为Windows 10操作系统设计的MTK(MediaTek)手机刷机USB驱动程序。这些驱动程序是用于与MediaTek芯片组设备通信的关键组件,特别是在进行固件升级或...
"Windows 10_MTK VCOM USB Preloader Drivers.zip"是一个压缩包,其中包含了在Windows 10上安装和使用MTK设备所需的关键驱动文件。这个驱动程序允许用户通过SN_write工具对使用MTK芯片的设备进行串行号(SN)的烧录...
MT65XX-preloader驱动是针对Mediatek MT65XX系列处理器的设备所设计的一种关键驱动程序,尤其适用于Windows 7 64位操作系统。这个驱动的主要功能是为USB VCOM (Virtual COM Port)提供支持,它是Android设备在开发和...
"加载等待油污效果PreLoader"就是这样一个设计,旨在通过动态的视觉效果吸引用户的注意力,使他们在等待过程中不会感到厌烦。 PreLoader是一种专门用于在内容完全加载前展示的动画或图形,它以有趣的方式告诉用户...
标题中的“Windows_10_MTK_VCOM_USB_Preloader_Drivers_tehnotone.com.zip”是一个压缩包文件,专门针对Windows 10操作系统提供MTK(MediaTek)VCOM USB Preloader驱动程序。这个驱动程序是为了解决与MediaTek芯片组...
JavaFX学习之Preloader JavaFX是一个用于创建桌面和移动应用程序的开源图形用户界面(GUI)工具包,它提供了一套丰富的组件、动画效果以及强大的2D和3D图形支持。在开发大型JavaFX应用程序时,为了提升用户体验,...
MT65xx Preloader驱动是针对基于MediaTek MT65xx系列芯片的设备的重要组成部分,主要负责在Android系统启动过程中的初期加载任务。这个预加载器(Preloader)是固件的一部分,它在操作系统内核启动之前运行,扮演着...