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

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

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

Регистрация: May 2006
Сообщений: 8
По умолчанию Меню -> кнопки -> эффект

Захотелось сделать меню, такое, чтобы например при наведении на кнопку (надпись "Новости" например) надпись размывалась блуром и потом опять становилась четкой в доли секунды.
Создал кнопку - написал "Новости", создал мувик - написал "Новости", сделал чтобы надпись размывалась и опять становилась четкой.
А дальше не знаю что делать, чтобы все было как я хочу. Помогите пожалуйста. Только более доступно, тк флеш только только познаю. Заранее спасибо!

Старый 28.05.2006, 13:56
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 2  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Стоит почитаьь про класс BlurFilter если у тебя восьмая версия флэша.

Вообще я делал давно, нечто подобное, щас чуть изменил, но боюсь пример будет сложноват.

Код:
import flash.filters.BlurFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*
//создаем метод, который будет анимировать кнопку, при наводе мышки.
function startTween(tween:Tween,blur:BlurFilter,target:MovieClip):Void {
	//удаляем если что то осталось с прошлой анимации
	delete tween.onMotionChanged;
	delete tween.onMotionFinished;
	//запускаем экземпляр Tween.
	tween.continueTo(3,.5);
	//создаем обработчик события, который будет изменять оба свойства, и "обновлять" фильтр
	tween.onMotionChanged = function ():Void {
		blur.blurY = blur.blurX;
		target.filters = [blur];
	}
	//когда анимация закончена запускаем фильтр обратно.
	tween.onMotionFinished = function ():Void {
		//йойо запускает обратно
		tween.yoyo();
		//удаляем этот обработчик
		delete tween.onMotionFinished;
	}
}
//созжаем обратный метод
function finishTween(tween:Tween,blur:BlurFilter,target:MovieClip):Void {
	//удаляем если что то осталось с прошлой анимации, и останавливаем если двигалось
	delete tween.onMotionChanged;
	delete tween.onMotionFinished;
	tween.stop();
	//запускаем обратно
	tween.continueTo(0,.5);
	//вобаем обработчик, как в прошлом варианте
	tween.onMotionChanged = function ():Void {
		blur.blurY = blur.blurX;
		target.filters = [blur];
	}
}	
//создаем метод который будет создавать кнопку,позиционировать, давать имя и настраивать текст.
function createButton(parent:MovieClip,label:String,x:Number,y:Number,w:Number,h:Number,format:TextFormat):MovieClip {
	//переменная отвечающая за глубину
	var d:Number = parent.getNextHighestDepth();
	//создаем мувик и текстовое поле в нем
	var result:MovieClip = parent.createEmptyMovieClip("label"+d,d);
	var label_txt:TextField = result.createTextField("label_txt",1,x,y,w,h);
	//задаем настройки текста(класс TextFormat)
	label_txt.setNewTextFormat(format);
	label_txt.text = label;
	label_txt.selectable = false;
	//создаем блюр (класс flash.filters.BlurFilter)
	var blur:BlurFilter = new BlurFilter(0,0,4);
	//создаем экземпляр класса Tween, который будет извращаться по всякому =)
	var tween:Tween = new Tween(blur,"blurX",Regular.easeOut,0,0,.5,true);
	//создаем обработчики событий для нашей кнопки.
	result.onRollOver = function ():Void {
		startTween(tween,blur,result);
	}
	result.onRollOut = function ():Void {
		finishTween(tween,blur,result);
	}
	return result;
}
//создаем/размножаем кнопки
var fmt:TextFormat = new TextFormat("Verdana",12,0xFF6600,true);
for(var i:Number=0;i<10;i++) {
	createButton(this,"button"+i,0,i*22,100,22,fmt);
}
боюсь что код для новичка сложноват, хотя если посидеть с хелпом часика три, разобраться можно.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 28.05.2006, 14:00
SleepNot вне форума Посмотреть профиль Отправить личное сообщение для SleepNot Найти все сообщения от SleepNot
  № 3  
Ответить с цитированием
SleepNot

Регистрация: May 2006
Сообщений: 8
2Nirth: Спасибо! но пример действительно сложноват... А что никак нельзя это сделать просто прописав както чтобы проигрывался мувик с эффектом над кнопкой при наведении... Просто мувик сделать проще простого, кнопку тоже. Теперь осталось связать...

Старый 28.05.2006, 14:45
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Что тут сложного? Тебе даже комментарии написали к действиям.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Apr 2006
Сообщений: 171
Отправить сообщение для NixPN с помощью ICQ
Он, видимно, имеет в виду сделать это вручную, а не программно... ну или с минимумом кода...
__________________
>>Время задает слишком много вопросов...

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

Регистрация: Mar 2006
Сообщений: 353
Тема исходники в разделе начинающие , там есть пример эффекта blur такой который тебе нужен ...
__________________
Вильгельм Тель...........

Старый 28.05.2006, 21:03
SleepNot вне форума Посмотреть профиль Отправить личное сообщение для SleepNot Найти все сообщения от SleepNot
  № 7  
Ответить с цитированием
SleepNot

Регистрация: May 2006
Сообщений: 8
2Nidl. Спасибо но я хотел бы с минимумом програмной фигни, тк с этим даже не пытался разобраться...

У меня вроде все получилось, т.е. при наведении мышой происходит то что нужно, но одна проблемка: при включении меню проигрывается сначала все а потом уже только при на ведение, как сделать так чтобы при включении не проигрывалось?
Исходник тут:http://www.koreametal.ru/upload/images/matilda.fla
помогите плиз

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

Регистрация: Apr 2006
Сообщений: 171
Отправить сообщение для NixPN с помощью ICQ
Мдя... пиши в первом кадре текста - stop();
__________________
>>Время задает слишком много вопросов...

Старый 28.05.2006, 23:47
SleepNot вне форума Посмотреть профиль Отправить личное сообщение для SleepNot Найти все сообщения от SleepNot
  № 9  
Ответить с цитированием
SleepNot

Регистрация: May 2006
Сообщений: 8
2NixPN. А "мдя" эт потому что я ламак или потому что в принципе не стоит так писать этот эффект?=)
так вот, после того как я прописываю "стоп" то эффект действительно не проигрывается при включении но при наведении проигрывается а при повторном наведенииуже нет... Как быть? Хотелось бы чтобы при каждом наведении был эффект..
Заранее спасибо!

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

Регистрация: Apr 2006
Сообщений: 171
Отправить сообщение для NixPN с помощью ICQ
А зачем тебе в конце 2 стопа? Убери нафиг оба... =)
__________________
>>Время задает слишком много вопросов...

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

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

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


 


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


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