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

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

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

Регистрация: Sep 2010
Сообщений: 20
По умолчанию доступ к маске клипа из библиотеки

День добрый! У меня есть swf с мувиком в библиотеке. У этого мувика есть маска слоя. Как через actionscript получить доступ к этой маске? Перебираю всех потомков на всех кадрах и ни у кого не задана маска (свойство mask == null). Как так? Сама маска содержится в мувике, но как узнать что этот символ является маской?

Старый 03.10.2011, 19:24
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
А собственно каким это образом вы перебираете всех потомков во всех кадрах? покажите код. И маска это шейп или мувик?
__________________
Марк Tween

Старый 03.10.2011, 19:31
Nesterva вне форума Посмотреть профиль Отправить личное сообщение для Nesterva Найти все сообщения от Nesterva
  № 3  
Ответить с цитированием
Nesterva

Регистрация: Sep 2010
Сообщений: 20
код надо упрощать, не охота) перебираю рекурсивно. маска - шейп

Старый 03.10.2011, 19:46
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Как вариант: задайте ей name. И getChildByName выдаст маску.
__________________
тут я

Старый 03.10.2011, 19:47
Nesterva вне форума Посмотреть профиль Отправить личное сообщение для Nesterva Найти все сообщения от Nesterva
  № 5  
Ответить с цитированием
Nesterva

Регистрация: Sep 2010
Сообщений: 20
набросала тестовую функцию:

Код AS3:
private function findMask(content:DisplayObject):void {
				if (content.mask != null) {
					Alert.show('has mask')
				}
				if (!(content is DisplayObjectContainer)) {
					return;
				}
				if (content is MovieClip) {
					var clip:MovieClip = content as MovieClip;
					for (var i:uint = 0; i<clip.totalFrames; i++) {
						clip.gotoAndStop(i);
						for (var j:uint = 0; j<clip.numChildren; j++) {
							findMask(clip.getChildAt(j));
						}
					}
				} else
				if (content is Sprite) {
					var sp:Sprite = content as Sprite;
					for (j = 0; j<sp.numChildren; j++) {
						findMask(sp.getChildAt(j));
					}
				} else {
					Alert.show('левый объект');
				}
			}
Добавлено через 2 минуты
Цитата:
Сообщение от КорДум Посмотреть сообщение
Как вариант: задайте ей name. И getChildByName выдаст маску.
Да, но мне еще нужно знать чья это маска

Добавлено через 18 часов 14 минут
похоже, что единственный вариант - это переделать все анимации с масками и задать соответствующие имена для масок и для маскируемых символов (msk1 -> masked1)


Последний раз редактировалось Nesterva; 03.10.2011 в 19:49.
Создать новую тему Ответ Часовой пояс GMT +4, время: 06:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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