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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Apr 2008
Сообщений: 211
По умолчанию перекрытие одного объекта другим с прозрачностью

даже не знаю, как сформулировать запрос в гугле или тут в поиске , посему пардон, если бабаян.

есть 2 спрайта-контейнеры, куда подгружаются текстуры неправильной формы с прозрачностью. Для простоты понимания возьмем ромбы, у них углы будут прозрачные. Так вот, если фигура, которая выше по глубине пересекает нижестоящую фигуру прозрачным куском, то при клике на нижестоящую фигуру через прозрачность вышестоящей, мы двигает вышестоящую. Как сделать так, что бы фигуры не двигались за прозрачный участок? просто при рисовании через graphics, к примеру круг, он не тянется за невидимую область.
спасибо

Старый 25.03.2014, 04:36
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 2  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
А в каком контейнере лежит нарисованный круг и какие события подписаны на контейнер?
Без примера кода тяжело догадываться, что Вы делаете. Либо придется сделать самому

Старый 25.03.2014, 05:07
ther вне форума Посмотреть профиль Отправить личное сообщение для ther Найти все сообщения от ther
  № 3  
Ответить с цитированием
ther

Регистрация: Apr 2008
Сообщений: 211
контейнер -sprite на нем mouseChildren=false; и подгружается битмам
//=========================================
Код AS3:
		public function loadTexture(path:String,textureIndex:int){
			//AvatarPath=_path
			var loader:Loader = new Loader();
			var lc:LoaderContext = new LoaderContext; 
			lc.parameters = { "textureIndex": String(textureIndex)}; 			
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onTextureloadComplete);
			loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,onLoadError);
			loader.load(new URLRequest(path),lc);	
		//=========================================
		private function onTextureloadComplete(ev:Event):void{
	//		setBitmap(ev.target.content as Bitmap,ev.target.parameters.textureIndex);
 
/*var mc:MovieClip=ev.target.content as MovieClip;
			var sp:Sprite = new Sprite();
			sp.graphics. copyFrom(mc.graphics);
 
			sp.y=-sp.height/2;
			sp.x=-sp.width/2;
			//mc.mouseEnabled = false; 
			addChild(sp);*/
			graphics.clear();
			graphics.beginBitmapFill(Bitmap(ev.target.content).bitmapData);
			graphics.drawRect(0,0,size*2,size);
			graphics.endFill();
			//ready=true;	
		}			
		}
события вешаются на сам этот спрайт, обычный CLICK.
как я уже не пробовал, и рисовал битмап на самом спрайте, и пихал битмап сверху, даже в отдельный swf кидал.
ПС
добавил пример. Код в первом кадре, лень было класс лепить. Границы фигуры видны по изменению курсора. Вот как с этим бороться?
Вложения
Тип файла: rar test.rar (8.4 Кб, 21 просмотров)


Последний раз редактировалось ther; 25.03.2014 в 05:55.
Старый 25.03.2014, 11:33
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 4  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Я делал так: через getObjectsUnderPoint получал список спрайтов под курсором в момент клика. Потом каждый проверял через hitTestPoint на какой участок попал клик, прозрачный или непрозрачный, найдя верхний спрайт у которого клик попал на непрозрачный участок обрывал обработку события и посылал событие клика уже персонально этому спрайту.
__________________
interplanety

Старый 25.03.2014, 12:35
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Класс InteractivePNG поищите.
__________________
Reality.getBounds(this);

Старый 25.03.2014, 15:37
ther вне форума Посмотреть профиль Отправить личное сообщение для ther Найти все сообщения от ther
  № 6  
Ответить с цитированием
ther

Регистрация: Apr 2008
Сообщений: 211
Korchy
у меня hitTestPoint не работает. Я с него и начал. Всегда возвращает false
Wolsh
спасибо, пробую

Старый 25.03.2014, 20:40
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 7  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
вот здесь есть над чем подумать http://stackoverflow.com/questions/1...h-transparency

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

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

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


 


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


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