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