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

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

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

Регистрация: Mar 2009
Сообщений: 105
По умолчанию Изменение свойств мувика из вложенного в него мувика

Здравствуйте,

Задача в следующем:
Есть 2 мувика mc, mc_1. Причем mc_1 вложен в mc.
Необходимо, чтобы при наведении мышки на mc_1, mc._alpha уменьшалась (или для mc происходило затемнение), а mc_1._alpha оставалась без изменений.

Заранее спасибо за помощь!

Старый 03.05.2009, 19:00
ffffff вне форума Посмотреть профиль Отправить личное сообщение для ffffff Посетить домашнюю страницу ffffff Найти все сообщения от ffffff
  № 2  
Ответить с цитированием
ffffff
 
Аватар для ffffff

Регистрация: Aug 2005
Адрес: Москва
Сообщений: 825
Отправить сообщение для ffffff с помощью ICQ
Напиши в кадре

Код AS1/AS2:
mc_1.onRelease= function(){
    this._parent._alpha = xx;
}
__________________
мой блог http://www.madie.ru

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код AS1/AS2:
var alp:Number = 50; //желаемое значение прозрачности
 
this.onEnterFrame = function() {
if (mc.mc_1.hitTest(this._xmouse, this._ymouse)) {
	mc._alpha = alp;	
}
else{
	mc._alpha = 100;
}
};
Меняем только значение прозрачности mc._alpha, mc_1._alpha не трогаем.
Вопрос наверное надо понимать так - как сделать, чтобы mc_1 оставался виден, если меняем альфу у родителя?
Значение альфы и реальная видимость на сцене - это разные вещи.

Тогда вот:
Код AS1/AS2:
var alp:Number = 50; //желаемое значение прозрачности
 
this.onEnterFrame = function() {
if (mc.mc_1.hitTest(this._xmouse, this._ymouse)) {
	mc._alpha = alp;	
	mc.mc_1._alpha = 100*100/alp; //пропорционально увеличиваем альфу внутреннего мувика, восстанавливая его видимость 
}
else{
	mc._alpha = 100;
}
};


Последний раз редактировалось mooncar; 03.05.2009 в 19:24.
Старый 03.05.2009, 19:11
zelik вне форума Посмотреть профиль Отправить личное сообщение для zelik Найти все сообщения от zelik
  № 4  
Ответить с цитированием
zelik

Регистрация: Mar 2009
Сообщений: 105
ffffff, не знаю почему, но при этом также и у mc_1 происходит изменение _alpha.

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Так не получится сделать, ибо глупо))

Как вы дошли до такого?)))..в смысле нарисуйте более яркую картину, что не обходимо, может вам нужно просто другим путем идти..

Старый 03.05.2009, 19:22
zelik вне форума Посмотреть профиль Отправить личное сообщение для zelik Найти все сообщения от zelik
  № 6  
Ответить с цитированием
zelik

Регистрация: Mar 2009
Сообщений: 105
А каким путем?

У меня есть карта, по которой перемещаюсь. На ней лежат мувики (вложенные в карту). Хотелось бы, чтобы при нажатии на мувик, затемнялось все (карта и другие мувики), кроме "активизированного" мувика

Старый 03.05.2009, 19:25
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вот это работает (код записывается в кадре, где находится mc):

Код AS1/AS2:
var alp:Number = 50; //желаемое значение прозрачности
 
this.onEnterFrame = function() {
if (mc.mc_1.hitTest(this._xmouse, this._ymouse)) {
	mc._alpha = alp;	
	mc.mc_1._alpha = 100*100/alp; //пропорционально увеличиваем альфу внутреннего мувика, восстанавливая его видимость 
}
else{
	mc._alpha = 100;
}
};
А так, чтобы при нажатии, а не при "наведении", как вы ранее писали, вы уж определитесь...

Код AS1/AS2:
var alp:Number = 30; //желаемое значение прозрачности
 
mc.mc_1.onRelease = function() {
 
	mc._alpha = alp;	
	mc.mc_1._alpha = 100*100/alp;
 
};
Добавлено через 9 минут
Цитата:
Сообщение от zelik Посмотреть сообщение
ffffff, не знаю почему, но при этом также и у mc_1 происходит изменение _alpha.
Только, ради бога, не путайте. Когда изменяется альфа родителя, у mc_1 альфа не меняется, это легко проверить трейсом. Меняется же результирующая "видимость" mc_1 на сцене, которую высчитывает плеер, и мы поднимаем эту результирующую "видимость" для mc_1, исскуственно завышая его исходную альфу (равную 100) в ТО количество раз, в КОТОРОЕ уменьшилась альфа его родителя mc:
Код AS1/AS2:
mc.mc_1._alpha = 100*100/alp;


Последний раз редактировалось mooncar; 03.05.2009 в 20:08.
Старый 03.05.2009, 20:01
zelik вне форума Посмотреть профиль Отправить личное сообщение для zelik Найти все сообщения от zelik
  № 8  
Ответить с цитированием
zelik

Регистрация: Mar 2009
Сообщений: 105
Спасибо большое!
Может быть знаете, как можно замемнить mc?

Но в любом случае, спасибо!

Старый 03.05.2009, 20:16
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 9  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Настоящая замена в отдельно взятом кадре (не скрытие, не удаление с таймлайна) mc воможна, если mc создается не в "авторской среде", т.е если не рисуется, а создается программно.
Почитайте о attachMovie, removeMovieClip и прочих методах MovieClip, вам многое станет ясно.

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

Регистрация: Mar 2009
Сообщений: 105
ой, извините, я имел ввиду не замеНить, а затемнить

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

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

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


 


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


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