AS3 缓制粒子时,最好使用,数据源与显示分离。非一般的高性能

转载 2012年03月28日 15:26:59
package {
	
	//imports
	import flash.events.Event;
	import flash.display.Bitmap;
	import flash.utils.getTimer;
	import flash.display.BitmapData;
	import flash.display.MovieClip;
	
	public class Bitmapvs_MovieClip extends MovieClip {
		
		//define variables
		private var w:int;
		private var h:int;
		private var r:int = 5;
		private var n:int = 500;
		private var currentTime:int = 0;
		private var bm:Bitmap;
		private var bmd:BitmapData;
		private var bmShape:MovieClip = new MovieClip();
		
		public function Bitmapvs_MovieClip():void {
			
			w = stage.stageWidth;
			h = stage.stageHeight;
			bmd = new BitmapData(w, h, true, 0);
			bm = new Bitmap(bmd);
			addChild(bm);
			addEventListener(Event.ENTER_FRAME, onFrameLoop);
		}
		private function onFrameLoop (evt:Event):void {
			timeDifference;
			//use one of these functions at a time
			
			//this one is to create points using the movieclip method
			//createMovieClipCircles();
			
			//this one is to create points using the bitmap method
			createBitmapCircles();
		}
		private function createMovieClipCircles ():void {
			
			//this will create a new movieclip for each circle
			for (var i:int = 0; i < n; i ++) {
				var m:MovieClip = new MovieClip();
				drawCircle(m);
				addChild(m);
			}
			//trace the fps
			trace(1000 / timeDifference);
		}
		private function createBitmapCircles ():void {
			
			//this will draw the same movieclip in different places over and over
			bmd.lock();
			for (var j:int = 0; j < n; j ++) {
				drawCircle(bmShape);
				bmd.draw(bmShape);
			}
			bmd.unlock();
			//trace the fps
			trace(1000 / timeDifference);
		}
		private function drawCircle (m:MovieClip):void {
			
			//create the same function to draw circles for both to keep it fair and organised
			m.graphics.clear();
			m.graphics.beginFill(Math.random() * 0xffffff);
			m.graphics.drawCircle(Math.random() * w, Math.random() * h, r);
			m.graphics.endFill();
		}
		private function get timeDifference ():int{
			var totalPlayedTime:int = getTimer();
			var timeDifference:int = (totalPlayedTime - currentTime);
			currentTime = getTimer();
			return timeDifference
		}
	}
}


【高性能】Linux远程VNC桌面

Linux远程桌面 很多商业高性能集群服务器,安装使用Redhat Linux企业版。一般工作人员可以用ssh、rsh命令,远程直连Redhat Linux的控制台,跳过GUI模块来操控服务器。但是有...
  • lpsl1882
  • lpsl1882
  • 2016年05月30日 10:47
  • 532

iOS Controller 瘦身运动之 UItableView datasource 与 delegate的分离

iOS Controller 瘦身运动之 UItableView datasource 与 delegate的分离         最近在公司进行了代码的一些优化,所以在空闲之余,把相关的经验...
  • zhonggaorong
  • zhonggaorong
  • 2016年03月15日 16:38
  • 1869

角度制与弧度制

角度制与弧度制 本文转自:http://math001.com/degree_radian_measure/ 1.  角度制(Degree Measure) 把一个圆周平均分成360...
  • sinolzeng
  • sinolzeng
  • 2014年10月14日 10:24
  • 6440

构建高性能web之路------读《构建高性能web站点》有感

一直想在web性能、可扩展性和可用性提升领域有所深入,但由于这些经验的沉淀,没有比较集中的学习资料辅助,并且也一直没有接触过有大规模访问需求的web项目,因此总是在这个领域门外徘徊。上星期读到一本书,...
  • cutesource
  • cutesource
  • 2010年04月20日 14:18
  • 10811

【Get深一度】高斯白噪声之——散粒噪声(shot noise )

散粒噪声(shot noise)通信设备中的有源器件(如电真空管)中,由于电子发射不均匀性所引起的噪声。又称散弹噪声。   散粒噪声是由形成电流的载流子的分散性造成的;   在大多数半导体器件中,它是...
  • u013346007
  • u013346007
  • 2016年06月12日 12:28
  • 1930

Flash AS3 XML Tree组件

生成上面树的XML:       20120804071540         普通用户d           20120804071541       20120804071...
  • MeetLunay
  • MeetLunay
  • 2013年05月03日 14:09
  • 1790

Flash AS3.0 制作旋转图片3D效果

1、新建Flash文档,创建5 个图形,(或导入5张图片到库中)。2、创建一个影片剪辑,1层为图片层2层为代码层。在1层把5张图片分别放在5帧中,在代码层输入stop(); 如图:3、Ctrl + L...
  • ilexcai
  • ilexcai
  • 2010年10月28日 12:01
  • 2825

c#注意事项之:将界面显示和引用类的分离

当某一程序要引用类库中的某一个类的时候,要注意,尽量不要在类中写显示数据的方法,那是界面层才干的事。 类库名为MyComputer,类库中的一个类为Computer。 演示的主程序为控制台应用程序,输...
  • ds19920925
  • ds19920925
  • 2013年08月11日 16:19
  • 742

国际原子时转日期

引言 在读取卫星数据时,扫描廓线获取时间有一或两种类型,常用的时间是系统是,国际原子时(TAI,International Atomic Time)和协调世界时(UTC,Coordinated Un...
  • wokaowokaowokao12345
  • wokaowokaowokao12345
  • 2018年01月26日 18:47
  • 26

理解表现和结构相分离

对于初学者,我们常看见web标准的好处之一是“能做到表现和结构相分离”,那这到底是什么意思呢?我将以一个实际的例子来详细说明。首先我们必须先明白一些基本的概念:内容、结构、表现和行为。 1.内容...
  • u013770247
  • u013770247
  • 2014年04月09日 15:39
  • 690
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AS3 缓制粒子时,最好使用,数据源与显示分离。非一般的高性能
举报原因:
原因补充:

(最多只允许输入30个字)