mouseDrag的问题
fool_tiger (2010-06-17 15:29:19)
我在论坛里看到可以用鼠标拖动外部模型的例子,我想用它拖动内置模型应该也可以吧,于是我写了如下代码
package {
import flash.events.Event;
import flash.events.MouseEvent;
import flab3d.mouseDrager;
import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
import org.papervision3d.cameras.FreeCamera3D;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.view.BasicView;
import org.papervision3d.cameras.CameraType;
public class MouseDragModel extends BasicView {
private var s:Sphere;
private var sM:FlatShadeMaterial;
private var light:PointLight3D=new PointLight3D(true);
private var md:mouseDrager;
private var c:FreeCamera3D=new FreeCamera3D();
public function MouseDragModel() {
stage.frameRate=40;
init();
startRendering();
}
private function init():void {
sM=new FlatShadeMaterial(light,0xff0000,0xffff00);
s=new Sphere(sM,200,18,16);
scene.addChild(s);
md=new mouseDrager(c,s);
addEventListener(MouseEvent.MOUSE_DOWN,md.onMouseClick);
addEventListener(MouseEvent.MOUSE_UP,md.onMouseClick);
addEventListener(MouseEvent.MOUSE_MOVE,md.onMouseClick);
addEventListener(MouseEvent.MOUSE_OUT,md.onMouseClick);
}
override protected function onRenderTick(e:Event=null):void {
md.process();
super.onRenderTick();
}
}
}
是想用鼠标拖动球转动不同的角度,但是测试时发现只能经度变化,纬度不变.就是说鼠标上下移动时,球没有跟着转,是为什么呢?