完善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();
}
}
}
实现效果,读取数据库中图片自动切换,当鼠标位于上下按钮和图片上面时停止切换,离开时再自动切换,淡入淡出。
文档类中代码如下:
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();
}
}
}
相关文章推荐
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)
- jquery上下页面视差滚动切换效果|强大的视差响应动画滑动图片切换效果
- jQuery底部带导航的图片切换,定时上下滚动效果(无滚轮切换效果)
- xSlider 可左右、上下图片切换的无缝滚动效果
- jQuery插件实例三:图片滚动[切换]效果一
- jQuery bxCarousel实现图片滚动切换效果示例代码
- 图片 滚动切换效果(四)
- 向上下左右不间断无缝滚动图片的效果(兼容火狐和IE)
- jQuery bxCarousel实现图片滚动切换效果示例代码
- 个人页效果(上下滚动时菜单悬停且可左右切换)
- 图片 滚动切换效果(一)
- jQuery 循环图片滚动切换效果代码
- 图片上下滚动效果
- JQuery页面图片切换和新闻列表滚动效果的具体实现
- 带箭头的图片上下切换效果
- 实例源码--Android图片滚动切换效果
- [转]JS控制-图片滚动切换效果(实用)
- JS+Flash图片轮换/切换--上下滑动效果
- 图片 滚动切换效果(六) 高级篇