初级视频编辑室|草蜢非编论坛|初级视编室|草蜢视频编辑|会声会影|威力导演|电子相册

标题: Flash as3 调用外部图片实现轮流展示 [打印本页]

作者: 五星上将    时间: 2014-11-28 21:27
标题: Flash as3 调用外部图片实现轮流展示
文档类:
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.Bitmap;
public class Image extends Sprite {
   private var imgLod:Array;//保存所有图片
   private var imgA:Bitmap;
   private var imgB:Bitmap;
   private var numImg:uint=10;//图像个数
   var a:int;
   public function Image():void {
    init();
   }
   private function init():void {
    imgLod=new Array();
    for (var i:uint=1; i<=numImg; i++) {
     var nameStr:String=i.toString();
     if (nameStr.length==1) {
      nameStr="0"+nameStr;
     }
     nameStr="images/"+nameStr+".jpg";
     var loaderoader = new Loader();
     var request_url:URLRequest = new URLRequest(nameStr);
     loader.load(request_url);
     //imgLod.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
     loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeListener);
    }
   }
   private function completeListener(e:Event):void {
    imgLod.push(e.target.content);
    a++;
    if (a==numImg) {
     a=0;
     imgA=imgLod[a];
     imgB=imgLod[a+1];
     addChild(imgA);
     addChild(imgB);
     imgB.x=-imgB.width;
     a++;
     addEventListener(Event.ENTER_FRAME,onEnterFrame);
    }
   }
   private function onEnterFrame(e:Event):void {
    //定义缓动
    var dx:Number=imgA.x-imgB.x;
    var vx:Number=dx*0.5;
    imgB.x+=vx;
    //检查是否到位
    if (imgB.x<1 && imgB.x>=0) {
     //检测是否应该循环
     if(a>=9){
      a=0;
     }
     addChild(imgA);
     imgA=imgB;
     imgA.x=imgA.y=0;
     addChild(imgA);
     a++;
     imgB=imgLod[a];
     imgB.x=-imgB.width;
     addChild(imgB);
    }
   }
}
}


作者: gxj000    时间: 2014-11-29 06:46
支持一下!!
作者: wxfbb2004    时间: 2014-11-29 07:02
技术贴  赞 谢谢老师分享
作者: yipingzi    时间: 2015-1-22 08:57
逛一逛,顶一顶。




欢迎光临 初级视频编辑室|草蜢非编论坛|初级视编室|草蜢视频编辑|会声会影|威力导演|电子相册 (http://shibianshi.com/) Powered by Discuz! X3.2