Тема: [Papervision] Интерактивный глобус
Показать сообщение отдельно
Старый 01.10.2010, 11:23
3Desian вне форума Посмотреть профиль Отправить личное сообщение для 3Desian Найти все сообщения от 3Desian
  № 8  
Ответить с цитированием
3Desian
 
Аватар для 3Desian

Регистрация: Mar 2007
Сообщений: 142
Отправить сообщение для 3Desian с помощью ICQ
Если на Вашем 3Д объекте натянут MovieMaterial и Вы хотите , что бы на нём работали кнопки, то нужно проделать следующее:
1. В самом мувике (movie) подписать кнопку (But_1) на события в кадре где она расположена .
2.Создать там же обработчик события в котором при помощи dispatchEvent выпустить событие "WasClick".
Код AS3:
But_1.addEventListener(MouseEvent.MOUSE_OVER, functionClick);
function functionClick(event:MouseEvent):void
{
  dispatchEvent(new MyEvent("WasClick"));
}
3. Подписать экземпляр объекта Этого мувика-текстуры на событие "WasClick".Это уже там , где создаёте материал MovieMaterial для объекта (для планеты).
Код AS3:
movie.addEventListener("WasClick", clickOnSomeBut);
private function clickOnSomeBut(e:MyEvent):void
{
trace("Дааа!!! ");
}
Ах да, ещё необходимо создать свой класс и назвать его MyEvent.as
Код AS3:
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.