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

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

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

Регистрация: Oct 2008
Сообщений: 11
Question Программная маска

Приветсвую. Я далек от програмирования, но нужно каким то образом разобраться в возникшей проблеме. Облазил форум, но решить мою задачу это не помогло.

Не работает програмная маска

Код AS1/AS2:
createEmptyMovieClip("container_mc",1000) //Контейнер
container_mc._x=0
container_mc._y=0
 
attachMovie("mask_m","mask_m",1001) //Маска
mask_m._x=15
mask_m._y=15
mask_m._alpha=0
 
container_mc.setMask(mask_m); 
 
loadVariables("text.txt", "_root"); //Подгружаю текст
 
container_mc.loadMovie("1.jpg",1002); //Подгружаю картинку
 
attachMovie("content_txt","content_txt",1003) //Фон под текст
content_txt._x=15
content_txt._y=15
Маска простая - круг=))

http://flasher.ru/forum/showthread.p...1%EA%E8&page=2 - эта тема не помогла с ответом на вопрос.

Если делать не програмно, то маска работает. (Правда, нужно будет разобраться до конца с подгрузкой текста и растягиванием прямоугольника под ним в зависимосте от размера текста, но это уже дело 2ое=)))

Буду признателен за помощь в данном вопросе.

Старый 21.07.2009, 04:22
Avid вне форума Посмотреть профиль Отправить личное сообщение для Avid Найти все сообщения от Avid
  № 2  
Ответить с цитированием
Avid

Регистрация: May 2009
Сообщений: 9
если это код прямо из сценария, то поставь разделители после свойств(,
маска и маскируемый клип не обязательно должны быть на разных слоях , если ты используешь attachMovie.
container_mc.loadMovie("1.jpg",1002) это что? напиши container_mc.loadMovie("1.jpg");
вобщем у тебя видимо проблема вся в синтаксисе, скачай себе AS Language Reference, он есть на форуме тут, очень поможет,там толково описаны все методы классы,методы,свойства и операторы.

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

Регистрация: Jan 2009
Сообщений: 1,651
Что вообще она должна у тебя перекрывать?
В твоем коде получается что маска перекрывает загруженный 1.jpg, а фон под текст лежит сверху над маской.


Попробуй для начала потренироваться на элементарных примерах, а потом добавляй новые и новые элементы
Код:
attachMovie ("container","container",getNextHighestDepth());
attachMovie ("mask","mymask",getNextHighestDepth());

container.setMask(mymask);

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Здесь нет ошибки с глубинами (контейнер, в который грузится картинка - внизу), здесь самая обычная ошибка - действия делаются ДО загрузки в контейнер. А после загрузки, естественно, он знать не знает что у него есть маска - собственно, она есть не у него, а у ТОГО контейнера, каким он был раньше. После загрузки это уже другой клип - тот, что загружен (на картинках это не очень понятно, но представь что ты загрузил туда файл свф - твой контейнер теперь и есть этот клип свф, а не клип свф внутри контейнера)))) Путано?
Как вариант - засунь контейнер в еще один, теперь уже действительно "контейнер", и назначь маску ему, а грузи во внутренний.
И альфа для маски у тебя - это зачем?
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 21.07.2009 в 15:39.
Старый 21.07.2009, 15:38
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 5  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
а, да, да, у AS2 есть такая "фишечка".

Старый 22.07.2009, 23:01
peetuborn вне форума Посмотреть профиль Отправить личное сообщение для peetuborn Найти все сообщения от peetuborn
  № 6  
Ответить с цитированием
peetuborn

Регистрация: Oct 2008
Сообщений: 11
Наконец дорвался до форума. Спасибо большое за помощь, сейчас буду пробовать)

UPDATE
Код AS1/AS2:
attachMovie ("container_mc2","container_mc2",getNextHighestDepth());
container_mc2.attachMovie("container_mc","container_mc",getNextHighestDepth());
attachMovie ("mask_m","mask_m",getNextHighestDepth());
 
container_mc.setMask(mask);
 
loadVariables("text.txt", "_root");
 
container_mc.loadMovie("1.jpg");
 
attachMovie("content_txt","content_txt",getNextHighestDepth());
Засунул все еще в один контейнер... Всеравно не хочет=(


Последний раз редактировалось peetuborn; 23.07.2009 в 01:24.
Старый 23.07.2009, 01:29
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

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

Старый 23.07.2009, 01:52
peetuborn вне форума Посмотреть профиль Отправить личное сообщение для peetuborn Найти все сообщения от peetuborn
  № 8  
Ответить с цитированием
peetuborn

Регистрация: Oct 2008
Сообщений: 11
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Вы внимательно прочитайте, что я написал. Вы сделали все наоборот.
Делаю еще один контейнер 2, в него ставлю контейнер 1 с картинкой. Далее накладываю маску на контейнер 2. Вроде все правильно понял...)

Код AS1/AS2:
attachMovie ("container_mc2","container_mc2",getNextHighestDepth());
container_mc2.attachMovie("container_mc","container_mc",getNextHighestDepth());
attachMovie ("mask_m","mask_m",getNextHighestDepth());
container_mc.loadMovie("1.jpg");
container_mc2.setMask(mask);

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
C этим кодом у Вас картинка не загрузится. Должно быть
Код AS1/AS2:
container_mc2.container_mc.loadMovie("1.jpg");
__________________
Reality.getBounds(this);

Старый 23.07.2009, 23:29
peetuborn вне форума Посмотреть профиль Отправить личное сообщение для peetuborn Найти все сообщения от peetuborn
  № 10  
Ответить с цитированием
peetuborn

Регистрация: Oct 2008
Сообщений: 11
Цитата:
Сообщение от Wolsh Посмотреть сообщение
C этим кодом у Вас картинка не загрузится. Должно быть
Код AS1/AS2:
container_mc2.container_mc.loadMovie("1.jpg");

Сделал вручную, ибо почему то картинка грузится в контейнер 2...=)

PS: Теперь мучает другой вопрос, допустим у меня есть папка с картинками (1.jpg, ....jpg итд.) Подскажите пожалуйста о чем нужно читать (искать информацию) для того, чтобы при появлении файла 2.jpg в папке у меня создавался следующий контейнер уже с картинкой 2 и смещением координат допустим на 300 пикселей.

Вообщем пытаюсь сделать что то типа галереи...

PS: Во вложение то, что в итоге у меня получилось...
Вложения
Тип файла: rar test.rar (39.7 Кб, 45 просмотров)

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

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

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


 


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


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