![]() |
Проблемы с MouseEvent3D.MOUSE_MOVE и object3D.localToGlobal(vector3D).
Здравствуйте!
У меня возникли проблемы с MouseEvent3D.MOUSE_MOVE и object3D.localToGlobal(vector3D). Помогите пожулуйста разобраться. Мне необходимо реализовать перетаскивание объектов на плоскости. Из моих тестов я понял, что просто по главному контейнеру scene перетаскивать объекты не получается. Поэтому я создал плоскость, которую в дальнейшем хочу сделать невидимой. Над плоскостью будут располагаться множество плоскостей с текстурами. Эти плоскости в не должны получать мышиные события, поэтому им я присвоил mouseEnabled = false; То есть есть сцена, главный контейнер - scene. Есть плоскость - debugPlane для того, чтобы координаты коректно брались. Без неё не выходит. И допустим пока 1 объект. Далее я назначил слушатели на главный контейнер. Код AS3:
В обработчике onMouse3DMove я преобразовываю координаты в глобальные. Код AS3:
Вроде все просто и должно работать. Но не все так просто. Видимо мало просто перевести координаты в глобальные. Также я заметил, что когда курсор на объекте, объект центрируется по курсору. Но, если курсор на плоскости - объект центрируется по курсору визуально со смещением по оси z. То есть курсор в ногах объекта. Но по оси z я не смещаю. Координаты x и y задаются не верно. Видимо нужно как-то дополнительно коректировать координаты? В чем могут быть ошибки? |
| Часовой пояс GMT +4, время: 19:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.