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

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

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

Регистрация: Sep 2009
Сообщений: 2
По умолчанию выпадающее меню и кнопка на кнопке

http://unicarerecycling.london-jewel.com/

Есть выпадающее меню, при наведении на кнопку выпадает списочек, кнопка соответственно растягивается, при уходе с кнопки список захлопывается обратно. Но как быть с теми кнопками, которые выпадающем в списке?? Переход на них провоцируют основную на захлопывание... (в примере они отключены)

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Не делайте кнопки в кнопках - далеко не уедете.
Например.
Сделайте основной список просто мувиком (list_mc). Сделайте внутренние кнопки также просто мувиками - button1_mc....buttonN_mc (Замените символы Button на MovieClip).
Повесьте на основной мувик onRollOver, как на обычную кнопку.
Далее попробуйте так:
Код AS1/AS2:
list_mc.onRollOver = function {
 
        //идет анимация разворачивания list_mc
 
 	this.onMouseUp  = function  () {
 
		if (this.button1_mc.hitTest(_root._xmouse, _root._ymouse)) {
			trace('Нажали первую кнопку (= onRelease)');
		}
		if (this.button2_mc.hitTest(_root._xmouse, _root._ymouse)) {
			trace('Нажали вторую кнопку (= onRelease)');
		}
		if (this.button3_mc.hitTest(_root._xmouse, _root._ymouse)) {
			trace('Нажали третью кнопку (= onRelease)');
		}		
	};
};
 
list_mc.onRollOut = function  () {
 
       //идет анимация сворачивания list_mc
 
	delete this.onMouseUp ;
};
Естественно, никаких записей на самих мувиках, все в кадре.


Последний раз редактировалось mooncar; 15.09.2009 в 01:58.
Старый 15.09.2009, 02:00
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 3  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

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

Старый 15.09.2009, 02:12
provorov вне форума Посмотреть профиль Отправить личное сообщение для provorov Найти все сообщения от provorov
  № 4  
Ответить с цитированием
provorov

Регистрация: Sep 2009
Сообщений: 2
Ну меня не кнопка в кнопка, а кнопка НА кнопке. они в разных слоях, просто лежат поверху. Сами кнопки конечно мувики...

т.е. я так понимаю как не крути, а делается это только через определение координат мыши?

Старый 14.12.2009, 23:46
btstudio вне форума Посмотреть профиль Отправить личное сообщение для btstudio Найти все сообщения от btstudio
  № 5  
Ответить с цитированием
btstudio

Регистрация: Jan 2009
Сообщений: 2
Я так понял, что человек не разобрался с этой задачей... :-(
Честно говоря сам зашел на форум с этим вопросом.

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

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


Последний раз редактировалось mooncar; 14.12.2009 в 23:57.
Старый 16.12.2009, 04:50
btstudio вне форума Посмотреть профиль Отправить личное сообщение для btstudio Найти все сообщения от btstudio
  № 7  
Ответить с цитированием
btstudio

Регистрация: Jan 2009
Сообщений: 2
а можно ссылочку на хороший урок по "hitTest" ?

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

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

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

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

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


 


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


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