Воспроизведение звука при нажатии всех кнопок в фильме

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

Звуковой файл находится в библиотеке с классом/привязкой "sroll" (Sound Rollover), и я использую следующий метод для воспроизведения всех остальных звуков:

MovieClip(root).audio_channel_c = MovieClip(root).snd8.play(0,1);

На мой взгляд, я ищу что-то вроде:

public button.eventlistener(MouseEvent.ROLL_OVER, function(){
    MovieClip(root).audio_channel_c = MovieClip(root).snd10.play(0,1);
});

я работаю в АС3


person Craig    schedule 09.05.2015    source источник


Ответы (2)


После дополнительных поисков я нашел довольно грубый способ сделать это. Слушатель улавливает то, что находится под курсором при каждом перемещении пикселя. Если пиксель под курсором является SimpleButton класса объектов, он определяет, движется ли мышь по уже нажатой кнопке. Если это свежий введите его следы.

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

import flash.events.MouseEvent;
import flash.display.SimpleButton;
import flash.utils.getQualifiedClassName;

function getClass(obj:Object):Class {
    return Class(getDefinitionByName(getQualifiedClassName(obj)));
}

var last_button_to_mouse = "";

stage.addEventListener(MouseEvent.MOUSE_MOVE, handle_custom_event, true);
function handle_custom_event(e:Event):void
{
    if(getQualifiedClassName(e.target)!="flash.display::SimpleButton"){
        last_button_to_mouse = ""
    }

    if(getQualifiedClassName(e.target)=="flash.display::SimpleButton" && (e.target.name != last_button_to_mouse)){
        last_button_to_mouse = e.target.name;

        trace("Place your script here for when the mouse enters any button on the stage");

    }
}
person Craig    schedule 09.05.2015

Другая альтернатива, потому что я полный идиот и не могу поверить, что не видела четкого ответа на этот вопрос в Интернете, заключается в том, что все кнопки являются экземплярами одной основной кнопки (например, моей), когда вы нажали на рамка «OVER» в свойствах дает вам возможность выбрать, какой звук должен быть сделан....

person Craig    schedule 09.05.2015