![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2011
Сообщений: 79
|
Здравствуйте.
Реализую метод Drag&Drop.Проблема в следующем. Когда работаешь просто во флэше без 3D. Объект отрисовывается на плоскости и чтобы его переместить мышью методом Drag&Drop достаточно присвоить значения x,y мыши объекту. В случае с 3D когда присваиваешь объекту он в локальных координатах перемещается(То бишь там 3 координаты и расположены они как в 3DMax),а мне нужно чтобы он перемещался как в случае с 2D.А чтобы например передвинуть в глубь поворачиваешь камеру и двигаешь. Как это сделать? Сейчас сделано следующее: private function OnMouseDown3D(e:MouseEvent3D):void { trace("mousedown3d") stage.removeEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown); stage.removeEventListener(Event.ENTER_FRAME, OnMouseMove); object = e.target as Mesh; stage.addEventListener(Event.ENTER_FRAME, OnMouseMove3D); } //Обработка события мыши private function OnMouseMove3D(e:Event):void { trace("mousedmove3d") controller.stopMouseLook(); object.x = scene.mouseX; object.y = scene.mouseY; } //Обработка события мыши private function OnMouseUp3D(e:MouseEvent3D):void { trace("mouseup3d") stage.removeEventListener(Event.ENTER_FRAME, OnMouseMove3D); stage.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown); controller.startMouseLook(); } Последний раз редактировалось dimarik; 03.08.2011 в 17:10. |
![]() |
Часовой пояс GMT +4, время: 06:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|