PV3d与DAE模型交互
daniel Zhang (2010-10-11 16:29:59)
我想实现dae模型与鼠标的交互,但是mouse_down和mouse_move事件可以监听到,mouse_up事件怎么也监听不到,不知那个部分出现问题了。
另外dae模型是不是不能直接用InteractiveScene3DEvent监听啊。我用了InteractiveScene3DEvent.Object_press也监听不到。daeFile.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, map_mouseDownHandler)
private function daeComplete(event:FileLoadEvent):void {
scene.addChild(daeFile);
trace(daeFile.x + "---" + daeFile.y);
renderer.renderScene(scene, camera, pViewPort);
this.addEventListener(MouseEvent.MOUSE_DOWN, map_mouseDownHandler);
}
private function map_mouseDownHandler(event:MouseEvent):void {
trace("进入鼠标按下事件");
prex = event.localX;
prey = event.localY;
this.addEventListener(MouseEvent.MOUSE_MOVE, move);
this.addEventListener(MouseEvent.MOUSE_UP, map_mouseUpHandler);
}
private function move(event:MouseEvent):void {
this.removeEventListener(MouseEvent.MOUSE_DOWN, map_mouseDownHandler);
if (!isNaN(prex) && !isNaN(prey)){
var px:Number = event.localX - prex;
var py:Number = event.localY - prey;
prex = event.localX;
prey = event.localY;
trace(prex.toString() + "--" + prey.toString());
daeFile.moveRight(px);
daeFile.moveDown(py);
renderer.renderScene(scene, camera, pViewPort);
}
}
private function map_mouseUpHandler(event:MouseEvent):void {
trace("消除监听");
this.removeEventListener(MouseEvent.MOUSE_MOVE, move);
//this.removeEventListener(MouseEvent.MOUSE_UP, map_mouseUpHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN, map_mouseDownHandler);
}