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

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

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

Регистрация: Feb 2012
Сообщений: 2
По умолчанию Создание flash меню.

Привет всем! Такой вот вопрос, надо создать несложное меню : увеличение текста при навелении и уменьшение при отведении, при клике размер остается увеличенный. Проблема в том что текст дрожит и еще какая-то фигня происходит(( как это сделать? текст кнопки без фона должен быть

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

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

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

Регистрация: Feb 2012
Сообщений: 2
Спасибо большое) а как сделать так чтоб при клике размер кнопки оставался увеличенным?

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

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

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
Сообщение от Wolsh
Не уменьшать.
Гениально))))) Я восхищен))

Извините за оффтоп, не сдержался)
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

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

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

Регистрация: Jul 2009
Сообщений: 149
Занесите все кнопки меню в массив. При нажатии на любую из кнопок пробигитесь по массиву и всем кнопкам, кроме нажатой, выставляйте уменьшенный вид.
А вообще, опишите подробней что есть ваши кнопки и как запускаете флешку. Допустим если флешка запущена через браузер и при нажатии на кнопки страница обновляется, то такой подход не прокатит.

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

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

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

Регистрация: Jul 2009
Сообщений: 149
Wolsh, Ваша правда. Конечно проще перезаписывать при нажатии ссылку на текущую кнопку, чем каждый раз бегать по массиву. Так вы имели ввиду?
Код AS3:
private var menuBut1:MenuBut=new MenuBut();
private var menuBut2:MenuBut=new MenuBut(); 
private var menuBut3:MenuBut=new MenuBut(); 
 
private var curBut:MenuBut;
 
public function createMenu():void{
	menuButt1.addEventListener(MouseEvent.CLICK, onMouseClick);
	menuButt2.addEventListener(MouseEvent.CLICK, onMouseClick);
	menuButt3.addEventListener(MouseEvent.CLICK, onMouseClick);
 
	curBut=menuButt1;
}
 
private function onMouseClick(e:MouseEvent):void{
	curBut.стануМаленькой();
	curBut=e.target;
	curBut.стануБольшой();
}
Так как вопрошающий не особо хотел расскахывать что хочет, я написал первое что пришло в голову.
Это все приходит с опытом, спасибо за совет.

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

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

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

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

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


 


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


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