2015-05-09 53 views
0

我認爲這將是一個非常基本的事情,但我已經谷歌搜索到一個角落。無論按鈕的位置,生根,父母,姓名,實例名稱等是什麼,我都希望每播放一次按鈕類型元素時播放一個聲音。在電影中的所有按鈕的翻轉播放聲音

聲音文件位於庫中,具有類/鏈接「sroll」(聲音展期),我用下面的方法來發揮所有的其他聲音:

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); 
}); 

我m在AS3工作

回答

0

經過更多的搜索,我發現了一個相當粗糙的方式來做到這一點。聆聽者在每個像素移動處拾取光標下的內容。如果光標下的像素是對象類的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"); 

    } 
} 
0

另一種選擇,因爲我是個白癡,不能相信我沒有看到一個明確的答案,這個網上,如果所有的按鈕都一個核心按鈕的情況下(如我的是)當你點擊「OVER」框架時,這些屬性可以讓你選擇應該做什麼聲音......