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

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

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

Регистрация: Dec 2006
Сообщений: 16
По умолчанию Помогите разобраться с Маской!

Проблема: Не работает Маска. Скорее всего я что-то не правильно делаю. Потому что опыта работы с масками очень мало. Почти нет. У меня кубики просто пролетают, не обращая внимания на прозрачность.
Задача: 3 Кубика при движении видны в зависимости от прозрачности большого прямоугольника. Тоесть где альфа-100% их видно, а где 0% - не видно.

Исходник прилагается.
Вложения
Тип файла: rar Mask.rar (5.4 Кб, 56 просмотров)

Старый 08.12.2006, 15:42
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Нужно поставить cacheAsBitmap на оба мувика (маску и маскируемый) и вешать маску программно.

Старый 08.12.2006, 15:48
Dark Owl вне форума Посмотреть профиль Отправить личное сообщение для Dark Owl Найти все сообщения от Dark Owl
  № 3  
Ответить с цитированием
Dark Owl

Регистрация: Dec 2006
Сообщений: 16
Зачем вешать маску программно? Как поставить cacheAsBitmap на оба мувика? Как вешать маску программно? Нужно задавать координаты?
А нельзя сделать так как я? Думаю у меня в исходнике просто где-то ошибка. Раньше ведь кажется программно нельзя было вешать.

Старый 08.12.2006, 15:48
Dark Owl вне форума Посмотреть профиль Отправить личное сообщение для Dark Owl Найти все сообщения от Dark Owl
  № 4  
Ответить с цитированием
Dark Owl

Регистрация: Dec 2006
Сообщений: 16
Зачем вешать маску программно? Как поставить cacheAsBitmap на оба мувика? Как вешать маску программно? Нужно задавать координаты?
А нельзя сделать так как я? Думаю у меня в исходнике просто где-то ошибка. Раньше ведь кажется программно нельзя было вешать.

Старый 08.12.2006, 15:54
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
F1 > setMask, cacheAsBitmap

Старый 08.12.2006, 16:05
Dark Owl вне форума Посмотреть профиль Отправить личное сообщение для Dark Owl Найти все сообщения от Dark Owl
  № 6  
Ответить с цитированием
Dark Owl

Регистрация: Dec 2006
Сообщений: 16
Обозвал главный мувик на главной сцене test, там же в первой сцене написал
Код:
test.cacheAsBitmap(1);
Ничего не сработало. Пробовал и без скобочек и с 0 и с равно 1 и т.д. ошибку не выдаёт но не работает.

А про сетмаск прочитал:
Цитата:
Example
The following code uses the circleMask_mc movie clip to mask the theMaskee_mc movie clip:
theMaskee_mc.setMask(circleMask_mc);
Вопрос, что в моём примере служит маской чего? У меня основной мувик Movie (название в библиотеке). В нём три motion tween И одна статичная маска. Как мне их обозвать, чтобы можно было на них ссылаться?
И в какое место писать формулу
Код:
theMaskee_mc.setMask(circleMask_mc);
? На главную сцену в нужный фрейм? Или в самом мувике?


Последний раз редактировалось iNils; 08.12.2006 в 18:54.
Старый 08.12.2006, 16:21
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
И маска и маскируемый объект должны быть мувиками. Им должны быть заданы имена. Про cacheAsBitmap прочитаешь в хелпе.
В конечном итоге у тебя два мувика — маска, маскируемый мувик и три строчки кода.

Старый 08.12.2006, 16:44
Dark Owl вне форума Посмотреть профиль Отправить личное сообщение для Dark Owl Найти все сообщения от Dark Owl
  № 8  
Ответить с цитированием
Dark Owl

Регистрация: Dec 2006
Сообщений: 16
Так, начинает доходить, но очень медленно.
Вот посмотри, что сейчас не так?
Теперь всё в мувиках, названия заданы, но отказывыается работать, что-то о5 не так.

Про кэшэсбитмап в хэлпе почти ничего не понятно.
Цитата:
cacheAsBitmap (MovieClip.cacheAsBitmap property)
public cacheAsBitmap : Boolean
А в примере:
Код:
container.filters = new Array(dropShadow);
trace(container.cacheAsBitmap); // true
В другом месте:
Цитата:
cacheAsBitmap:Boolean
If set to true, Flash Player caches an internal bitmap representation of the movie clip.
Вложения
Тип файла: rar Mask2.rar (4.7 Кб, 59 просмотров)


Последний раз редактировалось iNils; 08.12.2006 в 18:55.
Старый 08.12.2006, 17:05
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код нужно было написать в первом кадре не сцены, а мувика, в котором маска и маскируемые мувики. И вообще, примеры кода есть в хелпе.
Надо было написать
Код:
mo.cacheAsBitmap = true;
m.cacheAsBitmap = true;
mo.setMask(m);

Старый 08.12.2006, 17:25
Dark Owl вне форума Посмотреть профиль Отправить личное сообщение для Dark Owl Найти все сообщения от Dark Owl
  № 10  
Ответить с цитированием
Dark Owl

Регистрация: Dec 2006
Сообщений: 16
Всем спасибо, все свободны, вопрос решён.

Ввёл в поиск слово маска. Прокапал кучу тем. Нашёл пример с програмируемой маской, разобрался.
Всё заработало.
Код:
masked.setMask(mask)
masked.cacheAsBitmap = mask.cacheAsBitmap = true;
Если кому-то интересно, то вот этот пример, по которому я разобрался.
Вложения
Тип файла: zip gradientMASK.zip (46.8 Кб, 123 просмотров)


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

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

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


 


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


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