图片的粒子形式及其变形
[code lang="as3"]package{import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.events.MouseEvent;
import org.papervision3d.core.effects.utils.BitmapClearMode;
import org.papervision3d.core.geom.Pixels;
import org.papervision3d.core.geom.renderables.Pixel3D;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.view.BasicView;
import org.papervision3d.view.layer.BitmapEffectLayer;
import org.papervision3d.view.layer.util.ViewportLayerSortMode;
[SWF(width="800", height="600", frameRate="31",backgroundColor="0x000000")]
public class Pixel3DTest3 extends BasicView{
[Embed(source="assets/ten.jpg")]
private var image:Class;
private var pixels:Pixels;
private var isDown:Boolean;
private var container:DisplayObject3D;
public function Pixel3DTest3(){
super(800, 600, true, true);
init3D();
startRendering();
}
private function init3D():void{
camera.focus=4800;
camera.zoom=2;
camera.z=-6000;
var bfx:BitmapEffectLayer=new BitmapEffectLayer(viewport, 800, 600, true, 0, BitmapClearMode.CLEAR_POST, true, true);
viewport.containerSprite.addLayer(bfx);
bfx.sortMode=ViewportLayerSortMode.Z_SORT;
pixels=new Pixels(bfx);
createPixels();
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
private function createPixels():void{
var bmp:Bitmap=new image();
var bmpd:BitmapData=bmp.bitmapData;
var halfWidth:Number=-bmpd.width >> 1;
var halfHeight:Number=-bmpd.height >> 1;
var focus:Number=camera.focus; //4800
var focusZoom:Number=camera.focus * camera.zoom; //9600
var h:int=0;
var w:int=1;
while (w