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

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

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

Регистрация: Apr 2011
Сообщений: 87
По умолчанию помогите подобрать прослушиватель

такая тема. Нужно чтоб свойство прозрачность (alpha) менялось от max к min. изменение должно происходить, когда зажата ЛКМ мыши. Не по клику.
Код AS3:
bt_Alpha.addEventListener(MouseEvent.MOUSE_DOWN, fl_MouseClickHandler_14);
function fl_MouseClickHandler_14(event:MouseEvent):void // прослушка кнопки мыши
{
	if ((a > 360)&&(a < 380)&&(b > 310)&&(b < 330)) // ограничение рабочей обл.
	{   
		d.alpha += 0.1;
		if (bt_Alpha.y == 341)
		{
			bt_Alpha.y -=  2;
		}
	}
	if ((a > 360)&&(a < 380)&&(b > 350)&&(b < 370)) // ограничение рабочей обл.
	{
		d.alpha -= 0.1;
		if (bt_Alpha.y == 341)
		{
			bt_Alpha.y +=  2;
		}
	}
}
пробовала маус довн не помогло

Код AS3:
bt_Alpha.addEventListener(MouseEvent.MOUSE_DOWN, fl_MouseClickHandler_14);
function fl_MouseClickHandler_14(event:MouseEvent):void // прослушка кнопки мыши
{
	if ((a > 360)&&(a < 380)&&(b > 310)&&(b < 330)) // ограничение рабочей обл.
	{   
addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);
function fl_CustomMouseCursor(event:Event) // прослушка входа в кадр
{
		d.alpha += 0.1;
}
		if (bt_Alpha.y == 341)
		{
			bt_Alpha.y -=  2;
		}
	}
	if ((a > 360)&&(a < 380)&&(b > 350)&&(b < 370)) // ограничение рабочей обл.
	{ 
addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);
function fl_CustomMouseCursor(event:Event) // прослушка входа в кадр
{
		d.alpha -= 0.1;
}
		if (bt_Alpha.y == 341)
		{
			bt_Alpha.y +=  2;
		}
	}
}
попытка воткнуть энтр фарм тоже не увенчалась успехом.
пожалуйста, подскажите, как быть

Старый 24.06.2011, 00:50
S-ed вне форума Посмотреть профиль Отправить личное сообщение для S-ed Найти все сообщения от S-ed
  № 2  
Ответить с цитированием
S-ed
 
Аватар для S-ed

Регистрация: Jul 2001
Адрес: SPb.RU
Сообщений: 148
Отправить сообщение для S-ed с помощью ICQ
Эм...боюсь даже спросить...
Во втором примере...ВЫ ОПРЕДЕЛЯЕТЕ ФУНКЦИЮ В КОДЕ? ДВА РАЗА?

MOUSE_DOWN как и MOUSE_CLICK диспатчится 1 раз. Просто MOUSE_CLICK это быстрый MOUSE_DOWN + MOUSE_UP.

Чтоб постепенно убавлять альфу, создайте 3 функции, одна добавляет листенер таймера на MOUSE_DOWN, другая снимает на MOUSE_UP. Листенер вызывает функцию 3 - которая убавляет альфу.
__________________
RTFM

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

Регистрация: Apr 2011
Сообщений: 87
не бойтей одну функцию я 2 раза не повторяю))))) просто ошиблась когда сюда писала
а за подсказку СПС до таймера почемуто не додумалась

Старый 24.06.2011, 01:25
S-ed вне форума Посмотреть профиль Отправить личное сообщение для S-ed Найти все сообщения от S-ed
  № 4  
Ответить с цитированием
S-ed
 
Аватар для S-ed

Регистрация: Jul 2001
Адрес: SPb.RU
Сообщений: 148
Отправить сообщение для S-ed с помощью ICQ
Пусть не 2 раза.
Но в коде не определяют функции.

Таймер будет работать аналогично ентерфрейму. Просто функции завязаные на энтерфрейм зависят от частоты кадров.
__________________
RTFM

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

блогер
Регистрация: Nov 2010
Сообщений: 143
Записей в блоге: 1
Цитата:
Сообщение от optemus Посмотреть сообщение
Нужно чтоб свойство прозрачность (alpha) менялось от max к min
Почему бы не воспользоваться замечательной либой greensock? Тогда бы решение выглядело приблизительно так:
Код AS3:
public function onMouseDownHandler(e:MouseEvent):void {    
    TweenLite.to(_instance, TIME_OUT * _instance.alpha, {alpha:ALPHA_MIN});
}
 
public function onMouseUpHandler(e:MouseEvent):void {
    // OverwriteManager удалит существующий процесс
    TweenLite.to(_instance, 0.01, {alpha:_instance.alpha, overwrite:OverwriteManager.CONCURRENT});}
}

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

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

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


 


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


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