论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

自定义Flex的loading画面(as3.0)

文章类别:Flash AS编程 | 发表日期:2008-10-6 17:43:01


想起当年学flash的时候,最先学的就是做loading ,哈哈,成天做loading,那几行代码和那几个步骤全都背下来了。
自从来到了高级的Flex时代,loading全都自动生成了真是方便,但天天看Flex的Loading画面难免会有点审美疲劳 [sweat]
所以花了点时间研究了一下怎么自己画Flex的loading画面。

[arrow] 点此演示

时间关系,我只简单的画了一下, 这里是fla ,其实你想怎么画都可以

主要代码:

自定义的Preloader:

package
{
  import flash.display.MovieClip;
  import flash.display.Sprite;
  import flash.events.Event;
  import flash.events.ProgressEvent;
  
  import mx.events.FlexEvent;
  import mx.preloaders.IPreloaderDisplay;
  import mx.preloaders.Preloader;
  public class nPreloader extends Sprite implements IPreloaderDisplay
  {
  [Embed(source="mc.swf", symbol="loader_mc")]
 private var LoaderMC:Class;
 private var _loader_mc:MovieClip
 
 private var _preloader:Preloader;
 
    public function nPreloader()
    {
      super();
      this._loader_mc = new LoaderMC()
      this.addChild(this._loader_mc);
     this._loader_mc.gotoAndStop(50)
    
    }
    
    public function get backgroundAlpha():Number
    {
      return 0;
    }
    
    public function set backgroundAlpha(value:Number):void
    {
    }
    
    public function get backgroundColor():uint
    {
      return 0;
    }
    
    public function set backgroundColor(value:uint):void
    {
    }
    
    public function get backgroundImage():Object
    {
      return null;
    }
    
    public function set backgroundImage(value:Object):void
    {
    }
    
    public function get backgroundSize():String
    {
      return null;
    }
    
    public function set backgroundSize(value:String):void
    {
    }
    
    public function set preloader(obj:Sprite):void
    {
      _preloader = obj as Preloader;
 _preloader.addEventListener(ProgressEvent.PROGRESS, progressEventHandler);
 _preloader.addEventListener(FlexEvent.INIT_COMPLETE,initCompleteEventHandler);
    }
    
    public function get stageHeight():Number
    {
      return 0;
    }
    
    public function set stageHeight(value:Number):void
    {
    }
    
    public function get stageWidth():Number
    {
      return 0;
    }
    
    public function set stageWidth(value:Number):void
    {
    }
    
    public function initialize():void
    {
      _loader_mc.x = stage.stageWidth / 2 - _loader_mc.width/2;
 _loader_mc.y = stage.stageHeight / 2 - _loader_mc.height/2;
    }
    
    private function progressEventHandler(eo:ProgressEvent):void
    {
      
     _loader_mc.gotoAndStop(Math.round((eo.bytesLoaded / eo.bytesTotal )*100))
     _loader_mc.show_txt.text =Math.round((eo.bytesLoaded / eo.bytesTotal )*100)+" %"
    }
    
    private function initCompleteEventHandler(eo:FlexEvent):void{
     dispatchEvent(new Event(Event.COMPLETE));
    }
    
    
  }
}



主文件:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application preloader="nPreloader" creationComplete="init()" layout="vertical" xmlns:mx="http://www.adobe.com/2006/mxml" >
  <mx:Script>
    <![CDATA[

    [Embed(source="1.mp3")]
 private var _file:Class;

 
    ]]>
  </mx:Script>
  <mx:Button label="Button"/>
  <mx:ComboBox ></mx:ComboBox>
  <mx:Panel width="250" height="200" layout="absolute">
    <mx:Label text="我们是Flex组件,hoho" fontSize="15"/>
  </mx:Panel>

</mx:Application>
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058