`
aksoft
  • 浏览: 45440 次
  • 性别: 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坐标。在易语言中...

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

    它不仅提供了一个具体的编程示例,还能够帮助开发者学习和掌握如何在易语言环境下实现复杂界面功能。 易语言中的超级列表框是一个功能丰富的控件,它能够在界面中展示多列数据,并允许开发者自定义显示风格。在这个...

    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]`。 - **数据结构**:使用数组来存储向量的元素,并且要求向量...

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

    加载后的图片可以存储在一个`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