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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.03.2011, 12:33
uzver3254 вне форума Посмотреть профиль Отправить личное сообщение для uzver3254 Найти все сообщения от uzver3254
  № 1  
Ответить с цитированием
uzver3254
[+1 27.12.11]
 
Аватар для uzver3254

Регистрация: Mar 2011
Адрес: 60;40
Сообщений: 24
Thumbs up Увеличивающаяся панель с кнопками

Имеется мувиклип mc1 на котором есть mc2, mc3 ... mcN. Каждый mcN является кнопкой, при нажатии на которую происходит какой-то код. Но сам по себе mc1 очень маленький, в общем контексте, и он должен увеличиваться при наведении курсора. Получается следующее:
Код AS1/AS2:
_root.mc1.onRollOver = function() { 
    _root.mc1._width = _root.mc1._width*3;
    _root.mc1._height = _root.mc1._height*3;
};
_root.mc1.onRollOut = function() {
    _root.mc1._width = _root.mc1._width/3;
    _root.mc1._height = _root.mc1._height/3;
};
_root.mc1.mc2.onPress = function() {
    trace('работает');
};
но по факту получается, что mc1 увеличивается при наведении, уменьшается при уходе мыши, но кнопки на нем не работают.

Как добиться желаемого эффекта?

Добавлено через 9 часов 4 минуты
Проблема всё ещё не решена. испробовал с полдюжины методов. Получается полный бред.
Пипл, хэлп ми!

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

Регистрация: Oct 2010
Адрес: Свердловск
Сообщений: 77
Попробуйте это:

Код AS1/AS2:
zoomIn = function () {
	_root.mc1._xscale = 300;  // увеличение
	_root.mc1._yscale = 300;  // на 300%
};
 
zoomOut = function () {
	_root.mc1._xscale = 100;  // исходные
	_root.mc1._yscale = 100;  // размеры
};
 
_root.mc1.area.onRollOver = zoomIn;
_root.mc1.area.onRollOut = zoomOut;
 
_root.mc1.mc2.onRollOver = zoomIn;
_root.mc1.mc2.onRollOut = zoomOut;
 
_root.mc1.mc2.onPress = function() {
	trace('работает');
};
area - мувик, который является областью выделения mc1.

Если внутри mc1 будет много вложенных клипов, то присвоить обработчики OnRollOver/onRollOut можно с помощью цикла, если нужно с этим тоже помогу

Ваша проблема заключалась в том, что когда активизируется rollOver одного мувика, вложенные мувики не могут быть выделены, так как выделен их родитель и он "важнее"


Последний раз редактировалось Dalass13; 13.03.2011 в 11:39.
Старый 13.03.2011, 11:25
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 3  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
var mcOrigWidth = _root.mc._width;
var mcRollOverWidth = mcOrigWidth * 3;
_root.mc.onMouseMove = function(){
    if(this.hitTest(_root._xmouse, _root._ymouse)){
        this._width = mcRollOverWidth;
    } else {
       this._width = mcOrigWidth ;
    }
}
В as2 кнопки внутри кнопок не работают. Вешая события типа onRollOver и onRollOut на mc вы тем самым исключаете работу кнопок внутри mc.
__________________
hauts.ru


Последний раз редактировалось Hauts; 13.03.2011 в 11:27.
Старый 13.03.2011, 11:43
Dalass13 вне форума Посмотреть профиль Отправить личное сообщение для Dalass13 Найти все сообщения от Dalass13
  № 4  
Ответить с цитированием
Dalass13
 
Аватар для Dalass13

Регистрация: Oct 2010
Адрес: Свердловск
Сообщений: 77
что-то я сбыдлокодил по-ходу XD

hauts, а почему бы не...

Код AS1/AS2:
_root.mc1.onMouseMove = function() {
	if (this.hitTest(_root._xmouse, _root._ymouse)) {
		this._xscale = this._yscale=300;
	} else {
		this._xscale = this._yscale=100;
	}
};
всё меньше переменных используется

Старый 18.06.2011, 04:29
uzver3254 вне форума Посмотреть профиль Отправить личное сообщение для uzver3254 Найти все сообщения от uzver3254
  № 5  
Ответить с цитированием
uzver3254
[+1 27.12.11]
 
Аватар для uzver3254

Регистрация: Mar 2011
Адрес: 60;40
Сообщений: 24
В итоге пришлось рисовать невидимые маски над маленьким и предположительно увеличенным mc1


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

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

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


 


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


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