![]() |
|
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
![]() Здравствуйте.
Вопрос такой: Есть плоскость, на ней находятся 3д-объекты, эти объекты можно перетаскивать. Делаю так: // на объектах висят слушатели на нажатие и отпускание мыши private function mouseDownHandler(e:MouseEvent3D):void{ _tmpObj = (e.currentTarget as Mesh); plane.addEventListener(MouseEvent3D.MOUSE_MOVE, mouseMoveHandler); } private function mouseMoveHandler(e:MouseEvent3D):void{ _tmpObj.x = e.localX; _tmpObj.y = e.localY; _tmpObj.z = e.localZ; } private function mouseUpHandler(e:MouseEvent3D):void{ plane.removeEventListener(MouseEvent3D.MOUSE_MOVE, mouseMoveHandler); } Но при таком раскладе движение очень дерганное (когда нажимаю на объект, добавляется слушатель на плоскость, поэтому объект начинает двигаться только когда курсор попадает на плоскость, догоняет курсор и снова стоит, пока курсор снова не выйдет на плоскость — получается такое очень дерганное движение) Подскажите как реализовать нормальное, равномерное движение-перетаскивание?
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
надо через enterframe двигать
а лучше все объекты добавить в контейнер и двигать по флагу в enterFrame а так получается у вас присваивание координат срабатывает только при событии Последний раз редактировалось willis83; 05.05.2012 в 17:09. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:49. |
|
« Предыдущая тема | Следующая тема » |
Теги |
3d , перетаскивание |
Опции темы | |
Опции просмотра | |
|
|