2010-04-27 45 views
0

我是新來的,剛剛在Google上找到這些論壇。在AS3中充當鼠標事件的滾動按鈕?

首先,我想認真看看是否有這樣的話題,但是我搜索了整個論壇,沒有發現任何結束我的問題。

現在是重要的一個。正如我在主題標題中所述,我需要一個AS3代碼來完成這件事。這是我想要 完成。我在屏幕中央有一個MC(圖像),並且有兩個按鈕,一個在右側,另一個在該MC的左側 側。我想滾動(圖像就像一個菜單)MC向左或向右在鼠標事件上,向下或向上。 因此,我只想在按住按鈕上的鼠標按鈕或將鼠標懸停在按鈕上的同時更改MC的X值。 我設法做到了這一點,但它只是移動了我在鼠標事件後輸入的一個值。 這是我做的一段代碼。

buttonL1_btn.addEventListener(MouseEvent.MOUSE_OVER, buttonL1Pressed); 


function buttonL1Pressed(event:MouseEvent):void{ 

var temp:int = 0; 
var temp1:int = 0; 
temp = paleta1_mc.x; 
temp1 = temp - 5; 
paleta1_mc.x = temp1; 
trace(temp1); 


} 

我希望你能理解我,並有一條線索如何幫助我。

非常感謝您提前!

乾杯, 伊萬

回答

0

試試這個:

var isScrolling = false; 

buttonL1_btn.addEventListener(MouseEvent.MOUSE_OVER, function(e){isScrolling =true}); 
buttonL1_btn.addEventListener(MouseEvent.MOUSE_OUT, function(e){isScrolling =false}); 
this.addEventListener(Event.ENTER_FRAME,checkAction) 

function checkAction(event:Event):void{ 

    if (isScrolling) 
    { 
    paleta1_mc.x -=5; 
    } 

} 
+0

剛剛做到了!非常感謝你的幫助,Luis! – Ivan 2010-04-27 14:45:10

+0

酷!很高興我能幫上忙。你能把這個問題標記爲答案嗎?謝謝 – Luis 2010-04-27 15:07:11

+0

我做了:)再次感謝! – Ivan 2010-04-27 15:08:44

0

它看起來像你的連接事件偵聽到MOUSE_OVER事件,而不是MOUSE_DOWN?由於您的處理程序函數被稱爲buttonL1Pressed,我假設您希望事件在用戶單擊按鈕時觸發,而不是在鼠標光標位於其上時。

對不起,我不完全清楚你在問什麼,但是當我正在閱讀你的代碼時,我就跳出來了。

如果您可以提供更多的細節,我會很樂意提供幫助,如果我可以。

+0

它是MOUSE_OVER還是MOUSE_DOWN是相關的,因爲我可以在按鈕上創建一個事件處理程序,但是當我按住鼠標按鈕或將鼠標懸停在其上時,無法使該MovieClip移動。它只向左移5px,但我想移動它直到MOUSE_UP或MOUSE_OUT。你現在明白了?對不起,如果我不夠清楚。 – Ivan 2010-04-27 14:41:30