![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Приветствую.
Собсно вопрос в заголовке "Не работает OBJECT_DOUBLE_CLICK вместе с ViewportLayer". Объекты добавляются в DisplayObject3D и в разные ViewportLayer-ы. viewport.buttonMode = true; // Режим сортировки Viewport-ов по индексу viewport.containerSprite.sortMode = ViewportLayerSortMode.INDEX_SORT; // Создаются Viewport-слои и индексируются ViewportLayer0 = new ViewportLayer(viewport,(new DisplayObject3D())); ViewportLayer0.layerIndex = 0; ViewportLayer1 = new ViewportLayer(viewport,(new DisplayObject3D())); ViewportLayer1.layerIndex = 1; ViewportLayer2 = new ViewportLayer(viewport,(new DisplayObject3D())); ViewportLayer2.layerIndex = 2; // Viewport-слои добавляются во Viewport viewport.containerSprite.addLayer(ViewportLayer0); viewport.containerSprite.addLayer(ViewportLayer1); viewport.containerSprite.addLayer(ViewportLayer2); // далее фукция создаёт объекты, подписывает их на события и распихивает их в ViewportLayer-ы public function creator() { бла-бла-бла... object.addEventListener(InteractiveScene3DEvent.OBJECT_DOUBLE_CLICK, objectChanger); if (objectType=="ground") { ViewportLayer1.addDisplayObject3D(object, true); } else {ViewportLayer2.addDisplayObject3D(object, true);} } //затем public function objectChanger (event:InteractiveScene3DEvent) { trace("clic!!!!!!!!!"); } всё работает. Так вот если не пихать объекты по ViewportLayer-ам то и OBJECT_DOUBLE_CLICK работает. Кто знает почему так и как побороть? Последний раз редактировалось 3Desian; 03.12.2009 в 17:44. |
|
|||||
|
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
|
|
|||||
|
Не получается т.к. мой Object наследуется от TriangleMesh3D, а метод doubleClickEnabled работает только у объектов класса InteractiveObject.
Добавлено через 7 часов 41 минуту У кого нибудь есть ещё идеи? А то я в замешательстве. Уж не знаю что и делать ещё. Гуглю, но пока безрезультатно. |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
В крайнем случае можно самому отслеживать двойной клик. Не так уж и сложно делается.
|
|
|||||
|
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
такое чувство что надо соответствующему дисплейобъекту сделать doubleClickEnabled..
только вот найти его не так то легко.. можно покапаться |
|
|||||
|
Пристите, не понял...
![]() SamFR, Вы предлагаете стейдж подписать на двойной клик? А в функции objectChanger написать что то вроде: public function objectChanger (event:InteractiveScene3DEvent) {if(doubleClickVar == true) { trace("clic!!!!!!!!!"); doubleClickVar = false; } } bicubic_bublic, Что за "соответствующий Дисплейобджект"? |
|
|||||
|
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
думаю так:
----- ну или там или ----- гланул в исходники пепервижн - действительно в обычном вьюпорте doubleClickEnabled по умолчанию.. Последний раз редактировалось bicubic_bublic; 05.12.2009 в 18:40. |
|
|||||
|
Большое спасибо, товарищ.
Сработало. ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|