as3+xml加载图片简单示例

XML加载图片效果 ,有缓动,前一段时间学习写的。

 package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.Bitmap;
import flash.display.BitmapData;
import fl.transitions.TweenEvent;
import fl.transitions.Tween;
import fl.transitions.easing.Elastic;
public class PicControl extends Sprite {
  private var picArray:Array=[];
  private var _bitmap:Bitmap;
  private var currentnum:Number=0;
  private var 梦自在:Number;
  public function PicControl() {
   var prevButton:RectButton=new RectButton("上一页",40,30,0xffcccccc);
   var nextButton:RectButton=new RectButton("下一页",40,30,0xffcccccc);
   prevButton.x=100;
   prevButton.y=350;
   nextButton.x=300;
   nextButton.y=350;
   /*使按钮内部不与外界交互*/
   prevButton.mouseChildren=false;
   nextButton.mouseChildren=false;
   addChild(prevButton);
   addChild(nextButton);
   initxml();
   picinit();
   /*前后按钮添加事件侦听*/
   prevButton.addEventListener(MouseEvent.MOUSE_DOWN,prevfunc);
   nextButton.addEventListener(MouseEvent.MOUSE_DOWN,nextfunc);
  }
  /*建立xml并把地址添加到数组中*/
  public function initxml() {
   var myXML:XML=<pics>
   <pic path="image/0.jpg"/>
   <pic path="image/1.jpg"/>
   <pic path="image/2.jpg"/>
   <pic path="image/3.jpg"/>
   <pic path="image/4.jpg"/>
   <pic path="image/5.jpg"/>
   <pic path="image/6.jpg"/>
   <pic path="image/7.jpg"/>
   <pic path="image/8.jpg"/>
   <pic path="image/9.jpg"/>
   <pic path="image/10.jpg"/>
   <pic path="image/11.jpg"/>
   <pic path="image/12.jpg"/>
   </pics>;
   for (var i:int=0; i<myXML.child("pic").length(); i++) {
    picArray.push(myXML.pic.@path[i]);
   }
  }
  /*加载图片*/
  public function picinit():void {
   var loader:Loader=new Loader();
   addChild(loader);
            var request:URLRequest=new URLRequest(picArray[currentnum]);
   loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
   loader.load(request);
  }
  /*把加载来的内容转换成Bitmap对象,然后显示出来*/
  private function onComplete(event:Event):void {
   _bitmap=event.target.content as Bitmap;
   addChild(_bitmap);
   _bitmap.width=200;
   _bitmap.height=160;
   _bitmap.x=stage.stageWidth/2-100;
   _bitmap.y=stage.stageHeight/2-100;
   new Tween(_bitmap,"x",Elastic.easeOut,_bitmap.x-50,_bitmap.x,2,true);
   
  }
  private function nextfunc(event:Event):void {
   currentnum<picArray.length-1 ? currentnum++ : 梦自在;
   picinit();
  }
  private function prevfunc(event:Event):void {
   currentnum>0 ? currentnum-- : 梦自在;
   picinit();
  }
}
}
import flash.display.Sprite;
import flash.text.TextField;
class RectButton extends Sprite {
private var _width:Number;
private var _height:Number;
private var _color:uint;
private var _sprite:Sprite;
private var _textfield:TextField;
public function RectButton(text:String,width:Number,height:Number,color:uint) {
  _sprite=new Sprite();
  addChild(_sprite);
  _width=width;
  _height=height;
  _color=color;
  _textfield=new TextField();
  _textfield.text=text;
  _sprite.addChild(_textfield);
  draw();
}
public function draw():void {
  _sprite.graphics.beginFill(_color);
  _sprite.graphics.drawRoundRect(0,0,_width,_height,20,25);
  _sprite.graphics.endFill();
}
}

源文件下载:http://space.flash8.net/bbs/attachment.php?aid=340168

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值