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 + -
显示快捷键?