Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   События кнопки (http://www.flasher.ru/forum/showthread.php?t=129511)

itcoders 03.09.2009 12:19

События кнопки
 
Ребят, во флеше не так давно (вернее совсем недавно...), сделал симпотную кнопку
и написал к ней немного кода, чтобы звуки издавали при различных манипуляциях с ней.

Вот код
Код:

aq_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
aq_btn.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

var cursorSound:Sound = new Sound();
var cursorChannel:SoundChannel = new SoundChannel();
cursorSound.load(new URLRequest("cursor.wav"));
var cursorOnline:Boolean = false;

var pressSound:Sound = new Sound();
pressSound.load(new URLRequest("press.wav"));
var pressOnline:Boolean = false;

function mouseOverHandler (e:Event):void
{       
        if( pressOnline ) return;
        cursorChannel = cursorSound.play();
        cursorOnline = true;
}

function mouseDownHandler (e:Event):void
{
        if( cursorOnline ) cursorChannel.stop();
        pressSound.play();
        pressOnline = true;
}

Однако желаемого результата он не приносит. Складывается ощущение, что вообще ничего не происходит.

Не ругайте меня сильно :) . Подскажите, пожалуйста, что и как в данной ситуации можно сделать, чтобы решить проблему.

Zik. 03.09.2009 12:31

код в теги заверните

itcoders 03.09.2009 12:36

завернул :)

Zik. 03.09.2009 12:41

у вас булевские переменные = false;
так что звук никогда не воспроизведется

itcoders 03.09.2009 13:21

хм, блок:
Код:


if( pressOnline )

при pressOnline == false

как и
Код:

if( pressOnline )
так что не понимаю как может повлиять то, что я инициализировал переменные при создании фэлсом...

P.S. проверил Ваш вариант (убрал все фэлсы при начальной инициализации), ничего не изменилось...

Zik. 03.09.2009 13:23

а можно исходник?

Добавлено через 12 минут
заметил, что в функции аргумент типа Event, а не MouseEvent

itcoders 03.09.2009 13:37

конечно

http://letitbit.net/download/1205.e1...utton.fla.html


поменял на MouseEvent - не помогло...

Zik. 03.09.2009 13:43

не хочет качать
залейте на рапиду

itcoders 03.09.2009 13:56

http://***************/files/27503214...utton.fla.html

veisss 03.09.2009 13:57

зачем ты грузиш звуки из вне если они у тя в библиотеке???
прилинкуй звуки соответственно cursorWav и pressWav
и твой код замени на ето :)

Код AS3:

aq_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
aq_btn.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
 
var cursorSound:cursorWav = new cursorWav();
var cursorOnline:Boolean = false;
 
var pressSound:pressWav = new pressWav();
var pressOnline:Boolean = false;
 
function mouseOverHandler (e:Event):void
{       
        if( pressOnline ) return;
        cursorOnline = true;
        cursorSound.play();
}
 
function mouseDownHandler (e:Event):void
{
        if( cursorOnline )
        {
                cursorOnline = false;
        }
        pressOnline = true;
        pressSound.play();       
}


Zik. 03.09.2009 13:59

таки непонятно
почему это
Код AS3:

e:Event

???

itcoders 03.09.2009 14:04

спасибо большое, просветил.

veisss 03.09.2009 14:04

ет у него в фла так было флеш не ругнулся и я не заметил

itcoders 03.09.2009 14:13

в общем случае вы правы, но MouseEvent, как Вы понимаете - наследник от Event'a, а поскольку мы регистрируем событие на кнопку, то абсолютно безразлично, что писать в качестве типа формального параметра...


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

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