package { import flash.display.Sprite; import flash.text.*; import flash.system.System; import flash.events.MouseEvent; import flash.display.Stage; import flash.events.Event; import flash.display.Loader; import flash.net.URLLoader; import flash.net.URLRequest; import flash.filters.GlowFilter; import flash.utils.Timer; import flash.events.TimerEvent; import fl.controls.Button; import fl.controls.ComboBox; public class myPic extends Sprite { //定义属性 private var _sprite:Sprite;//红色小方块 //private var _rect:Sprite=new Sprite ; private var _txt:TextField;//红色小方块上面的编号 标签 private var _newTxt:TextField; private var _picTxt:TextField=new TextField ; private var _loadTxt:TextField; private var _loader:Loader; private var _urlRequest:URLRequest; private var _urlLoader:URLLoader; private var _timer:Timer; private var _comBox:ComboBox; private var nextBtn:Button; private var prevBtn:Button; private var stopBtn:Button; private var playBtn:Button; //定义变量 private var _picGlowFilter:GlowFilter=new GlowFilter(0x999999,1,3,3,3,2,false,false); private var _glowFilter:GlowFilter=new GlowFilter(0x000000,.8,2,2,4,1,false,false); private var _Number=160;//第一个红色小方块的x坐标 private var _height:Number=290;//第一个红色小方块的y坐标 private var _time:uint=1000; private var _num:uint=0; private var _txtAry:Array=["pic0","pic1","pic2","pic3","pic4","pic5","pic6","pic7"];//图片说明名字 private var _picUrlAry:Array=["images/01.jpg","images/02.jpg","images/03.jpg","images/04.jpg","images/05.jpg","images/06.jpg","images/07.jpg","images/08.jpg"]; public function myPic() { init();//初始化数据 showCom();//显示组建 showTxt();//显示文本 loadPic(_num);//载入第一张图片 getChildAt(0).filters=[_glowFilter]; _picTxt.filters=null; //定义自动播放 _timer=new Timer(_time,0); _timer.addEventListener("timer",timerHandler); _timer.start(); } //=============绘制8个红色正方形,贴上标签号,并添加侦听========================= private function init():void { for (var i:uint=0; i<_picUrlAry.length; i++) { _sprite=new Sprite ; _sprite.graphics.beginFill(0xff0044,1); _sprite.graphics.drawRect(_width+i*25,_height,20,20); _sprite.graphics.endFill(); _sprite.buttonMode=true; _sprite.addEventListener(MouseEvent.MOUSE_DOWN,downHandler); _sprite.addEventListener(MouseEvent.MOUSE_UP,upHandler); _txt=new TextField ; _txt.text=i.toString(); _txt.width=20; _txt.height=20; _txt.x=_width+i*25; _txt.y=_height; _txt.autoSize="center"; _txt.mouseEnabled=false; _sprite.addChild(_txt); addChild(_sprite); } } //================点击方格========================================== private function downHandler(e:MouseEvent):void { _timer.stop(); getChildAt(_num+1).filters=null; _num=getChildIndex(getChildByName(e.target.name))-1; e.target.filters=[_glowFilter]; loadPic(_num); showTxt(); } private function upHandler(e:MouseEvent):void { _timer.start(); } //===============显示组件======================================== private function showCom() { _loadTxt=new TextField ; _loadTxt.text="loading..."; _loadTxt.x=200; _loadTxt.y=150; addChild(_loadTxt); nextBtn=new Button ; nextBtn.label="下一页"; nextBtn.move(330,330); addChild(nextBtn); nextBtn.addEventListener(MouseEvent.MOUSE_DOWN,onNextBtnDown,false,0,true); nextBtn.addEventListener(MouseEvent.MOUSE_UP,onNextBtnUp,false,0,true); prevBtn=new Button ; prevBtn.label="上一页"; prevBtn.move(100,330); addChild(prevBtn); prevBtn.addEventListener(MouseEvent.MOUSE_DOWN,onPrevBtnDown,false,0,true); prevBtn.addEventListener(MouseEvent.MOUSE_UP,onPrevBtnUp,false,0,true); stopBtn=new Button ; stopBtn.label="停止"; stopBtn.move(140,360); addChild(stopBtn); stopBtn.addEventListener(MouseEvent.CLICK,onStopBtnClicked,false,0,true); playBtn=new Button ; playBtn.label="播放"; playBtn.move(260,360); addChild(playBtn); playBtn.addEventListener(MouseEvent.CLICK,onPlayBtnClicked,false,0,true); _comBox=new ComboBox ; _comBox.addItem({data:1,label:"1000"}); _comBox.addItem({data:2,label:"3000"}); _comBox.addItem({data:3,label:"5000"}); _comBox.move(220,330); addChild(_comBox); _comBox.addEventListener(Event.CHANGE,changeHandler,false,0,true); } //================================================================== //下一页 private function onNextBtnDown(e:MouseEvent):void { getChildAt(_num+1).filters=null; //判断当前图片是否是最后一张,如果是,则将图片索引号设置为0,即第一张图片 if (_num<_picUrlAry.length-1&&_num!=_picUrlAry.length-1) { _num++; } else { _num=0; } loadPic(_num); showTxt(); getChildAt(_num+1).filters=[_glowFilter]; _timer.stop(); } private function onNextBtnUp(e:MouseEvent):void { _timer.start(); } //上一页; private function onPrevBtnDown(e:MouseEvent):void { getChildAt(_num+1).filters=null; if (_num<_picUrlAry.length&&_num!=0) { _num--; } else { _num=_picUrlAry.length-1; } loadPic(_num); showTxt(); getChildAt(_num+1).filters=[_glowFilter]; _timer.stop(); } private function onPrevBtnUp(e:MouseEvent):void { _timer.start(); } //控制自动播放时间。 private function changeHandler(e:Event):void { _timer.removeEventListener("timer",timerHandler); _time=e.target.selectedItem.label; _timer=new Timer(_time,0); _timer.addEventListener("timer",timerHandler); _timer.start(); } //停止自动播放 private function onStopBtnClicked(e:MouseEvent):void { _timer.stop(); } //开始自动播放 private function onPlayBtnClicked(e:MouseEvent):void { _timer.start(); } //================================================================== //载入图片 private function loadPic(_num:uint):void { _urlRequest=new URLRequest(_picUrlAry[_num]); _loader=new Loader ; _loader.x=150; _loader.y=50; _loader.load(_urlRequest); _loader.filters=[_picGlowFilter]; addChild(_loader); } //显示文本 private function showTxt():void { _picTxt.text=_txtAry[_num]; _picTxt.x=240; _picTxt.y=260; _picTxt.width=50; _picTxt.height=30; _picTxt.autoSize="center"; _picTxt.selectable=false; addChildAt(_picTxt,0); } //==================自动播放======================================= private function timerHandler(e:TimerEvent):void { getChildAt(_num+1).filters=null; if (_num<_picUrlAry.length-1) { _num++; } else { _num=0; } getChildAt(_num+1).filters=[_glowFilter]; loadPic(_num); showTxt(); } } }