舞台上放两个按钮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();
}
}
}