FlabCamera3D的问题
(2010-06-22 11:04:16)
我用研究所的提供的FlabCamera3D类,按照教程写了一个,可是点平面怎么反应呢?
我继承的是BasicView.不知道哪写错了,请大家指教吧.
package {
import flash.events.Event;
import flash.events.MouseEvent;
import flab3d.FlabCamera3D;
import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
import org.papervision3d.cameras.FreeCamera3D;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.view.BasicView;
import org.papervision3d.cameras.CameraType;
import org.papervision3d.events.InteractiveScene3DEvent;
public class MoveCamera extends BasicView {
private var light:PointLight3D=new PointLight3D(true);
private var camera1:FlabCamera3D=new FlabCamera3D();
public function MoveCamera() {
stage.frameRate=40;
super(stage.stageWidth,stage.stageHeight,true,false,CameraType.FREE);
init();
startRendering();
}
private function init():void {
trace(camera1);
viewport.interactive=true;
for (var i:int = 0; i <50; i++) {
var bitmapMaterial:FlatShadeMaterial=new FlatShadeMaterial(light,Math.random()*0xFFFFFF);
bitmapMaterial.interactive=true;
bitmapMaterial.doubleSided=true;
var plane:Plane=new Plane(bitmapMaterial);
plane.x=Math.random()*5000-2500;
plane.y=Math.random()*5000-2500;
plane.z=Math.random()*2500;
plane.rotationX=Math.random()*180-90;
plane.rotationY=Math.random()*180-90;
plane.rotationZ=Math.random()*180-90;
scene.addChild(plane);
plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onPlaneClick);
}
}
private function onPlaneClick(evt:InteractiveScene3DEvent):void {
trace("dddddddd=");
camera1.tweenTo(Plane(evt.currentTarget),500,1);
}
override protected function onRenderTick(e:Event=null):void {
super.onRenderTick();
}
}
}