`
aksoft
  • 浏览: 45197 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

一个载入SWF和图片到数组的loader

    博客分类:
  • AS3
阅读更多
com.paizi,这个没用可以删掉。给自己留个地方,怕以后忘了。
package {
    import com.paizi;
	import flash.display.Loader;
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.events.MouseEvent;
	import fl.transitions.*;
	import fl.transitions.easing.*;
	import flash.events.ProgressEvent;	
	import flash.utils.Timer;
	import flash.events.TimerEvent;
	import flash.net.navigateToURL;
	import flash.net.URLRequest;
	import flash.net.URLVariables;
	import flash.net.URLLoader;
	import flash.display.Bitmap;

    public class main extends MovieClip {
		private var _bitmap:Bitmap;
		private var ldr:Loader = new Loader();
		private var urlarray:Array = [
			"http://html.moko.cc/html/movie/index.swf",
			"http://img.moko.cc/users/0/4/1451/images/post/src/c826dfca-a11a-423e-bc97-89f7f3ccb0bb.jpg",
			"http://img.moko.cc/users/0/4/1451/images/post/src/e3c9009b-c1ff-4efa-8a33-8cd7510d73e8.jpg",
			"http://img.moko.cc/users/0/4/1451/images/post/src/2483e788-b750-4e39-9b20-7a4b7b15f151.jpg",
			];
		private var urlreuqest:URLRequest;
		private var loader:Loader;
		private var num:int = 0;
		//载入成功的图片数目;
		private var sucessNum:int = 0;
		private var timer:Timer = new Timer(5000,0);
		private var imgarray:Array = [];
		private var urlReq:Array = [];
        public function main():void {
			//添加招牌mc
			addPaizi();
			
			//加载图片
			//侦听
			//timer.addEventListener(TimerEvent.TIMER, change_or_load);
			loadImg();
			//开始
			//timer.start();
			
        }
		public function loadImg():void
		{
			for (var i:uint = 0; i < urlarray.length; i++)
			{
				loader = new Loader();
				loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, funLoadImgProgress);
				loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, funLoadIo_Error);
				loader.contentLoaderInfo.addEventListener(Event.COMPLETE, funLoadImgComplete);
				//创建urlreuqest对象
				urlreuqest = new URLRequest(urlarray[i]+"?"+Math.random()*6);
				//载入
				loader.load(urlreuqest);
				loadMv.loadTxt.text = urlarray.length + "/" + (sucessNum);
				//初始化进度条
				loadMv.loadBg.width = 1;
			}
		}
		//载入图片时IO错误
		private function funLoadIo_Error(event:IOErrorEvent):void
		{
			trace("载入图片时错误:" + event);
		}
		//载入进度
		private function funLoadImgProgress(event:ProgressEvent):void
		{
			trace(event.target.loader.contentLoaderInfo.bytesLoaded + "字节");
			var percentLoaded:Number = event.bytesLoaded/event.bytesTotal;
			percentLoaded = Math.round(percentLoaded * 100);
			loadMv.loadBg.width = percentLoaded;
			//trace("Loading: "+percentLoaded+"%");
		}
		
		//载入完成
		private function funLoadImgComplete(event:Event):void
		{
			sucessNum++;
			loadMv.loadTxt.text = urlarray.length+ "/"+(sucessNum);
			//loadMv.loadBg.width = 100;
			if (sucessNum == urlarray.length) {				
				loadMv.alpha = 0;
			}
			//添加到 imgarray数组
			imgarray.push(event.target.loader);			
			trace("共"+event.target.loader.contentLoaderInfo.bytesTotal+"  :字节");
			trace(event.target.loader+"  :载入完成");
			trace(sucessNum+"张图片");
			if (sucessNum == urlarray.length)
			{
				funPlay();
			}
		}
		//开始播放
		private function funPlay():void
		{
			//加载图片
			//侦听
			timer.addEventListener(TimerEvent.TIMER, funLoadImg);
			function funLoadImg():void
			{	
				trace("num计数:"+num);
				if(img.numChildren > 0){
					img.removeChildAt(0);
				}
				//添加到舞台影片img
				img.addChild(imgarray[num]);
				funTransition(img);	
				
				num++;
				//取余数,让num永远小于在urlarray.length
				num = num % urlarray.length;
			}
			//计时器开始
			timer.start();
		}
		//添加牌子
		private function addPaizi():void
		{
			var zhaopai:paizi = new paizi();
			zhaopai.x = 400;
			zhaopai.y = 398;
			zhaopai.buttonMode = true;
			this.addChild(zhaopai);
		}
		private function funTransition(_mc:MovieClip):void
		{
			var ran:Number;
			ran =Math.round( Math.random() * 10 );
			switch (ran) 
			{
				case 1 :
					TransitionManager.start(_mc,{type:Blinds, direction:Transition.IN, duration:2, easing:None.easeNone, numStrips:20, dimension:0});
					break;
				case 2 :
					TransitionManager.start(_mc,{type:Blinds, direction:Transition.IN, duration:2, easing:None.easeNone, numStrips:20, dimension:1});
					break;
				case 3 :
					TransitionManager.start(_mc, {type:Iris, direction:Transition.IN, duration:2, easing:Strong.easeOut, startPoint:1, shape:Iris.CIRCLE});
					break;
				case 4 :
					TransitionManager.start(_mc, {type:Iris, direction:Transition.IN, duration:2, easing:Strong.easeOut, startPoint:2, shape:Iris.SQUARE});
					break;
				case 5 :
					TransitionManager.start(_mc, {type:Iris, direction:Transition.IN, duration:2, easing:Strong.easeOut, startPoint:5, shape:Iris.CIRCLE});
					break;
				case 6 :
					TransitionManager.start(_mc, {type:Iris, direction:Transition.IN, duration:2, easing:Strong.easeOut, startPoint:8, shape:Iris.SQUARE});
					break;
				case 7 :
					TransitionManager.start(_mc, {type:Fade, direction:Transition.IN, duration:9, easing:Strong.easeOut});
				case 8 :
					TransitionManager.start(_mc, {type:PixelDissolve, direction:Transition.IN, duration:2, easing:Regular.easeIn, xSections:10, ySections:10});
					break;
				case 9 :
					TransitionManager.start(_mc, {type:Zoom, direction:Transition.IN, duration:2, easing:Elastic.easeOut});
				default :
					TransitionManager.start(_mc, {type:Wipe, direction:Transition.IN, duration:2, easing:None.easeNone, startPoint:1});
					break;
			}
		}
    }
}
分享到:
评论

相关推荐

    LabVIEW不使用NI Vision将png图片转为RGB分量数组;自带图片函数将彩色图片转为RGB三通道的二维灰度数组的VI

    可以使用LabVIEW自带的图片函数将图片转为RGB三个通道分量的灰度值,便于进行图像处理,可将载入的图像转为24位图像,8位和4位图像,并将相应位数的图像将RGB通道的灰度值分量为三个二维灰度数组,是图像处理的常用...

    JS实现页面载入时随机显示图片效果

    在这个脚本中,我们需要创建一个图片数组,数组中的每个元素都对应一个图片资源。在创建数组元素的时候,每个数组元素都调用new Image()方法来生成一个图片对象,并通过设置其src属性来指定对应的图片地址。 然后,...

    易语言二维数组位图

    在易语言中,可以通过定义一个二维数组并指定其大小(宽度和高度)来实现。创建后,数组的每个元素初始值通常为0,代表黑色。 3. **取某点颜色**:获取位图上某个位置像素的颜色,通常需要指定x和y坐标。在易语言中...

    flash+xml做的xml方式载入图片自动轮换显示

    在Flash和XML结合的技术应用中,我们可以实现一种动态的图片轮换展示效果...通过理解和掌握以上知识点,你可以创建一个功能完备、自定义程度高的图片轮播系统,利用XML数据驱动Flash界面,实现灵活的图片自动轮换效果。

    Flash ActionScript3 在影片剪辑中载入一张网络图片

    如果你想将图片加载到特定的影片剪辑(MovieClip)中,可以创建一个MovieClip实例,然后在其中添加加载的图片: ```actionscript var myClip:MovieClip = new MovieClip(); addChild(myClip); myClip.addChild...

    Qt载入图片界面并获得每个像素点坐标

    在Qt框架中,实现一个能够加载图片并在界面上显示,同时获取鼠标在图片上移动时所对应的像素点坐标的功能,需要对Qt的图形系统有深入理解。以下将详细阐述这个过程涉及的关键知识点。 首先,Qt中的`QImage`类是处理...

    CE挂OD找天龙背包数组

    在计算机游戏中,玩家的背包系统通常包含一个数组,存储了各种道具的数量和信息。本教程将教你如何利用 Cheat Engine(CE)和 OllyDbg(OD)这两个逆向工程工具,来找到游戏中的背包数组。 首先,我们启动游戏并...

    载入Md5模型的源代码 Md5Loader

    每个关节都有一个相对于父关节的位置和旋转角度,这允许模型在不同姿态下变形。`Md5Loader`需要解析这些关节信息,创建一个关节树,用于驱动模型的骨骼动画。 4. **动画帧(Frames)**:MD5模型的动画通过一系列...

    北邮计算机系统结构实验三-使用MIPS指令实现求两个数组的点积

    - **目标**:编写一个能够计算两个数组点积的汇编程序。假设两个数组分别为`a`和`b`,则它们的点积定义为`a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1]`。 - **数据结构**:使用数组来存储向量的元素,并且要求向量...

    易语言源码超级列表框载入图片(仿Windows浏览框的显缩略图).7z

    在本资源"易语言源码超级列表框载入图片(仿Windows浏览框的显缩略图).7z"中,包含了一个易语言的源代码示例,该示例演示了如何在超级列表框组件中加载并显示图片,以实现类似Windows浏览框中显示缩略图的效果。...

    载入并显示图片,并可将图片转换成灰度图和伪彩图显示

    加载后的图片可以存储在一个`QImage`对象中。 3. **显示图片**:在Qt界面中,可以使用`QLabel`控件配合`QPixmap`来显示图片。通过设置`QLabel`的`setPixmap()`方法,可以将`QPixmap`对象关联到标签上,从而在界面中...

    QLabel载入图片,定时器轮流播放

    当我们需要在一个窗口中展示多张图片并实现轮流播放的效果时,可以借助QLabel和QTimer来实现这一功能。以下是一个详细的知识点说明: 1. **QLabel**:QLabel是Qt库中的一个类,用于在界面上显示文本或者图像。它...

    FLASH载入图片并自动轮换显示

    在本项目中,"FLASH载入图片并自动轮换显示"是一个典型的动态图像展示功能,常见于在线相册或数字媒体展示中。该效果通过Adobe Flash实现,利用其强大的动画和交互能力,创建出平滑的图片滑动效果,为用户提供...

    flex 动态载入外部图片

    - **创建Loader对象**:首先,我们需要创建一个Loader实例,这将是加载图片的核心组件。例如: ```actionscript var loader:Loader = new Loader(); ``` - **指定加载类型**:由于加载的是图片,需要设置...

    第一个vb项目-图片载入器

    【标题】"第一个vb项目-图片载入器"是一个初学者级别的编程实践,旨在通过Visual Basic(VB)语言实现一个简单的应用程序,能够加载并显示图片。这个项目对于那些刚开始学习VB编程并希望了解如何处理图形界面和图像...

    完整版超级列表框载入图片(仿Windows浏览框的显缩略图).rar

    通过以上步骤,我们可以创建一个功能强大的“完整版超级列表框”,不仅能显示文件名,还能以缩略图的形式展示图片,提高用户在应用程序中浏览图片的效率和体验。值得注意的是,这样的功能在文件管理、图片库应用或...

    opencv图片的简单载入

    在计算机视觉领域,OpenCV(开源计算机视觉库)是一个强大的工具,它提供了丰富的函数和模块,使得处理图像和视频变得简单。本篇文章将详细讲解如何使用OpenCV进行图片的简单载入以及如何将彩色图片转换为黑白(灰度...

    Asp.net把图片存入数据库和读取图片的方法

    网上关于ASP.NET上传图片到数据库的资料非常多,常用的如下:存储图片类型数据有以下几种方式:1.将图片转换为二进制数组(byte[]) 代码如下:byte[] fileData = this.FileUpload1.FileBytes; 2. 根据路径将文件转换...

    2维数组载入MYSQL数据到 EXUI超级列表框开发大数据必备-易语言

    在“2维数组载入MYSQL数据到EXUI超级列表框”的开发过程中,有以下几个核心知识点: 1. 数据库连接:首先,需要使用易语言的数据库接口建立与MYSQL服务器的连接,设置正确的数据库名、用户名、密码以及主机地址。 ...

Global site tag (gtag.js) - Google Analytics