Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.04.2011, 03:34
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 1  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
По умолчанию Назначить интерактивную карту

Есть 3Д-фигура(сфера). Необходимо назначить в качестве материала мувик/спрайт так, чтоб сохранить его интерактивность (мышиные события и пр.) При назнаначении объекту Sphere материала MovieMaterial похоже, что объект преобразуется в битмапу. С pv3d раньше дел не имел, поэтому ответ может быть очевидным, но найти не получилось... Заранее спасибо.

Upd. Тема уже не актуальна, но интересует вопрос как такое можно реализовать. Движок значения не имеет.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!


Последний раз редактировалось TanaTiX; 03.04.2011 в 01:33.
Старый 04.04.2011, 03:24
cr0w312 вне форума Посмотреть профиль Отправить личное сообщение для cr0w312 Найти все сообщения от cr0w312
  № 2  
Ответить с цитированием
cr0w312
 
Аватар для cr0w312

Регистрация: Mar 2009
Адрес: this.x=0;this.y=0;this.z=0
Сообщений: 89
мувиклипы так и остаются мувиклимпами(в битмап ничего не конвертируется, кнопки остаются кнопками, текстовые поля - полями).
Если в примере чего будет не понятно, прокомментирую
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Rectangle;
	import flash.text.TextField;
 
	import org.papervision3d.materials.MovieAssetMaterial;
	import org.papervision3d.materials.utils.PrecisionMode;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.view.BasicView;
 
	public class InteractiveMaterial extends BasicView
	{
		private var plane:Plane;
 
		public function InteractiveMaterial()
		{
			stage.frameRate = 40;
 
			init();
			startRendering();
		}
 
		private function init():void
		{
			viewport.interactive = true;
 
			var material:MovieAssetMaterial = new MovieAssetMaterial("material",false,true,false,true);
			material.doubleSided = true;
			material.rect = new Rectangle(0,0,200,200);
			material.smooth = true;
			material.precisionMode = PrecisionMode.STABLE;
			material.interactive = true;
 
			MovieClip(MovieClip(material.movie).getChildByName("btn")).mouseChildren = false;
			MovieClip(material.movie).getChildByName("btn").addEventListener(MouseEvent.CLICK,click);
			MovieClip(material.movie).getChildByName("btn").addEventListener(MouseEvent.MOUSE_OVER,mouseOver);
			MovieClip(material.movie).getChildByName("btn").addEventListener(MouseEvent.MOUSE_OUT,mouseOut);
 
			plane = new Plane(material,500,500);
			scene.addChild(plane);
		}
 
		private function click(e:MouseEvent):void
		{
			var buttonText:TextField = MovieClip(e.target).getChildByName("label") as TextField;
			switch(buttonText.text)
			{
				case "start":
					buttonText.text = "stop";
					MovieClip( MovieClip(e.target).parent ).play();
				break;
				default:
					buttonText.text = "start";
					MovieClip( MovieClip(e.target).parent ).stop();
			}
		}
 
		private function mouseOver(e:MouseEvent):void
		{
			viewport.buttonMode = true;
		}
 
		private function mouseOut(e:MouseEvent):void
		{
			viewport.buttonMode = false;
		}
 
		override protected function onRenderTick(e:Event=null):void
		{
			plane.localRotationY++;
			super.onRenderTick();
		}
	}
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 04:09.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.