|
|
|||||
Регистрация: Jul 2009
Сообщений: 6
|
Интерактивный глобус
Добрый день!
Намутил я значит вот такой глобус: http://jvoliz.info/iGem/test.swf ВНИМАНИЕ: Весит много - 1 мегабайт и требует новую версию flash'a (мне для огненной лисы пришлось скачать свежий плагин). Ничего такой глобус вроде : ) Вопрос: как сделать, каждую (ну не каждую, а хотя бы десяток) стран интерактивными. То есть я подвожу мышкой к стране, ее контуры подсвечиваются или просто, чтобы я мог кликнуть по стране на глобусе и получить какое-то действие. Я много гуглил и ничего дельного не нашел. Была идея, чтобы по координатам добавить на нужную мне страну какой-нибудь объект - например, полусферу, и использовать ее как триггер для совершения события, но почему-то если создавать DisplayObject3D, то к нему никак не привязать события, хоть ты тресни. Собственно ряд вопросов: * если взаимодействовать не напрямую с картой глобуса, а утыкать его какими-нибудь посторонними маркерами, то как привязать к DisplayObject3d событие. Чувствую, что никак, поэтому как сделать тоже самое, но без DisplayObject3D? * Если все-таки хочется "порезать" карту на нужные мне участки и к каждому привязать ивент, как сделать? * Вообще, как создать фигуру со сложным контуром и добавить ее в сцену? Спасибо! JD |
|
|||||
ветеран форума
|
События привязываются через InteractiveScene3DEvent
Вот еще некий пример почти по теме А вообще, кажется, слишком сложную для себя Вы задачу выбрали для начала.
__________________
trace("Остановите Землю, я сойду!!!"); |
|
|||||
Регистрация: Aug 2007
Сообщений: 467
|
Что с управлением ? Оно для дистрофиков ?
__________________
Лучше быть умным и иногда делать глупости, чем глупым и постоянно умничать! |
|
|||||
Регистрация: Jul 2009
Сообщений: 6
|
Нормальную задачу! Дайте направление куда копать и мы раскопаем!
А что с управлением? JD |
|
|||||
ветеран форума
|
Я Вам уже дал направление куда копать.
Начните с документации, конкретнее обратите внимание на классы: InteractiveScene3DEvent InteractiveSceneManager InteractiveUtils Mouse3D Вообщем то способов добиться того чего вы хотите есть несколько. Самый простой это MovieMaterial, т.е материал в виде мувиклипа интерактивного, но на производительности это сказывается не очень то положительно. Дальше уже варианты посложнее, ройте. А на счет управления почитайте про Quaternion и что такое Gimble lock
__________________
trace("Остановите Землю, я сойду!!!"); Последний раз редактировалось Mur4ik; 03.07.2009 в 15:58. |
|
|||||
Регистрация: Nov 2008
Сообщений: 109
|
Да с управлением норм, только как то когда тянешь вниз глобус он вращается вверх, да и текстура, как всегда кольчужно на полюсах накладывается...(((
Smooth установил? а то какой то на краях ребристый... Последний раз редактировалось yorlin; 03.07.2009 в 16:08. |
|
|||||
здравствуйте! вот возникла такая же задача. натянула на сферу интерактивный мувиклип, все отлично но почему то кнопки не срабатывают.
в чем может быть причина. Материал, то есть swf с картой мира написан на actionscript2. |
|
|||||
Если на Вашем 3Д объекте натянут MovieMaterial и Вы хотите , что бы на нём работали кнопки, то нужно проделать следующее:
1. В самом мувике (movie) подписать кнопку (But_1) на события в кадре где она расположена . 2.Создать там же обработчик события в котором при помощи dispatchEvent выпустить событие "WasClick". But_1.addEventListener(MouseEvent.MOUSE_OVER, functionClick); function functionClick(event:MouseEvent):void { dispatchEvent(new MyEvent("WasClick")); } movie.addEventListener("WasClick", clickOnSomeBut); private function clickOnSomeBut(e:MyEvent):void { trace("Дааа!!! "); } package { import flash.events.Event; public class MyEvent extends Event { public var nameOfObject:String; public static var GO_TO_OBJECT:String="GO_TO_OBJECT"; public function MyEvent(type:String, NameOfObject:String="") { super(type); nameOfObject = NameOfObject; } } } // тут параметр NameOfObject можно использовать для опознавания конкретно нажатой кнопки. Последний раз редактировалось 3Desian; 01.10.2010 в 11:26. |
Часовой пояс GMT +4, время: 07:10. |
|
« Предыдущая тема | Следующая тема » |
|
|