完善as3图片上下切换,自己滚动效果

 舞台上放两个按钮btnup和btndown用于上一张,下一张切换

实现效果,读取数据库中图片自动切换,当鼠标位于上下按钮和图片上面时停止切换,离开时再自动切换,淡入淡出。

 

文档类中代码如下:

package {
 import flash.display.*;
 import flash.text.*;
 import flash.net.*;
 import flash.events.*;
 import flash.errors.*;
 import flash.system.*;
 import fl.transitions.*;
 import fl.transitions.easing.*;
 import flash.display.BitmapData;
 import flash.utils.Timer;

 public class Main extends Sprite {
  public var xml:XML;
  public var smallPic:Array=new Array();
  public var pici:int;
  public var t:Tween;
  public var picbox:MovieClip=new MovieClip();
  public var picload:Loader = new Loader();
  public var bp:Bitmap =new Bitmap();
  public var mytimer:Timer = new Timer(3000,0);
  
  public function Main() {
   init();
  }
  private function init():void {
   btnup.addEventListener(MouseEvent.MOUSE_DOWN,up);
   btnup.addEventListener(MouseEvent.MOUSE_OVER,stoptimer);
   btnup.addEventListener(MouseEvent.MOUSE_OUT,starttimer);
   btndown.addEventListener(MouseEvent.MOUSE_DOWN,down);
   btndown.addEventListener(MouseEvent.MOUSE_OVER,stoptimer);
   btndown.addEventListener(MouseEvent.MOUSE_OUT,starttimer);
   picload.addEventListener(MouseEvent.MOUSE_OVER,stoptimer);
   picload.addEventListener(MouseEvent.MOUSE_OUT,starttimer);
   mytimer.addEventListener(TimerEvent.TIMER,time);
   mytimer.start();
   try {
    var configLoader:URLLoader = new URLLoader(new URLRequest("http://域名/XmlToproduct.aspx?cid=26&random=" + (new Date().getTime())));
    configLoader.addEventListener(Event.COMPLETE, fixConfig);
   } catch (error) {
    //trace("Error #"+String(error.errorID));
   }
   pici=0;
  }
  private function fixConfig(event:Event):void {
   XML.ignoreComments=false;
   XML.ignoreProcessingInstructions=false;
   try {
    xml=XML(event.target.data);
    for (var i:uint = 0; i < xml.pic.length(); i++) {
     smallPic[i]="http://域名"+xml.pic[i].@thumb;
    }
    picload.load(new URLRequest(smallPic[0].toString()));
    picload.contentLoaderInfo.addEventListener(Event.COMPLETE,onEventCompleteHandler);
    addChild(picload);
    picload.y=100;
    picload.x=100;

   } catch (error) {
    // 忽略任何错误。
    trace("Error #"+String(error.errorID));
   }
  }
  private function up(evt:MouseEvent):void {
   if (pici<=0)
    pici=smallPic.length-1;
   else
       pici-=1;
   picload.contentLoaderInfo.addEventListener(Event.COMPLETE,onEventCompleteHandler);
   picload.load(new URLRequest(smallPic[pici].toString()));
   addChild(picload);
   picload.x=100;
   picload.y=100;
   trace(smallPic.length);

  }
  private function down(evt:MouseEvent):void {
   if (pici>=smallPic.length-1)
    pici=0;
   else
       pici+=1;
   trace(smallPic.length);   
   picload.contentLoaderInfo.addEventListener(Event.COMPLETE,onEventCompleteHandler);
   picload.load(new URLRequest(smallPic[pici].toString()));
   addChild(picload);
   picload.x=100;
   picload.y=100;
   
  }

  function onEventCompleteHandler(evt:Event) {
   trace("开始加载");
   t=new Tween(evt.target.content,"alpha",Back.easeOut,0,1,3,true);
   bp = (evt.target.content as Bitmap);
   bp.width=220;
   bp.height=220;
   evt.target.removeEventListener(Event.COMPLETE,onEventCompleteHandler);
  }
  
  function time(evt:TimerEvent):void
  {
   if (pici>=smallPic.length-1)
    pici=0;
   else
       pici+=1;
   trace(smallPic.length);   
   picload.contentLoaderInfo.addEventListener(Event.COMPLETE,onEventCompleteHandler);
   picload.load(new URLRequest(smallPic[pici].toString()));
   addChild(picload);
   picload.x=100;
   picload.y=100;
  }
  function stoptimer(evt:MouseEvent):void
  {
   mytimer.stop();
  }
  function starttimer(evt:MouseEvent):void
  {
   mytimer.start();
  }

 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值