您的位置:首页 > 其它

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

2011-09-22 23:48 375 查看
舞台上放两个按钮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]=".@thumb]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();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: