rectangleparticleculler.as.svn-base

来自「ActionScript写的3D图片展示功能」· SVN-BASE 代码 · 共 47 行

SVN-BASE
47
字号
package org.papervision3d.core.culling{	import org.papervision3d.core.geom.renderables.Particle;	import flash.geom.Rectangle;	import flash.geom.Point;	import org.papervision3d.core.geom.renderables.Vertex3DInstance;	import flash.utils.getTimer;		import org.papervision3d.core.geom.renderables.Vertex3D;		public class RectangleParticleCuller implements IParticleCuller	{		private static var vInstance:Vertex3DInstance;		private static var testPoint:Point;				public var cullingRectangle:Rectangle;				public function RectangleParticleCuller(cullingRectangle:Rectangle = null)		{			this.cullingRectangle = cullingRectangle;			testPoint = new Point();		}				public function testParticle(particle:Particle):Boolean		{			vInstance = particle.vertex3D.vertex3DInstance;			//trace(getTimer(), "rectangleparticleculler",vInstance.z, vInstance.visible );						// TODO I don't trust the speed of the built-in Rectangle.intersects function - 			// and have a fast algorithm so I'll write a new intersect function! [Seb]			if(particle.material.invisible == false){				if(vInstance.visible)				{					if(particle.renderRect.intersects(cullingRectangle))					{						return true; 					}				}			}			return false;		}							}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?