2015-01-10 51 views
2

我在動作腳本3中創建棋盤遊戲Adobe Flash。在這種情況下,如果我將鼠標懸停在特定的棋子上,它必須顯示該棋子相對於具有路徑發光效果的骰子值可以移動的步數。在動作腳本中的鼠標移動路徑發光效果3

在我移動棋子相對於骰子號碼後,在我的代碼路徑中會發光。

opawn1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_3); 


function fl_ClickToGoToAndStopAtFrame_3(event: Mouse): void { 
    var filterarray: Array=new Array(); 
    opawn1.filters=[glow]; 
    var gfilter: GlowFilter=new GlowFilter(); 
    filterarray.push(gfilter); 


current_pawn = arrayPawn[0]; 
checkSize(opawn1); 

if (o_move == 0) { 
    o_move = 1; 
    convert_to_movieclip(s1); 
} 

temp = get_number_of_moves(odirectmove, checkorange, 0, current_pawn); 
odirectmove = false; 
for(var i=0;i<temp+1;i++) 
{ 
    s1[i].filters=filterarray; 
} 

在這裏,我用鼠標點擊事件,它不工作,如果我將其更改爲鼠標懸停。

請讓我知道上面的代碼是否正確。

如何實現這一目標?

+0

第一個錯誤我看到的是你在linstener函數中路徑鼠標代替鼠標事件\ –

+0

在這裏代碼中它的工作是「鼠標點擊」。我需要它用於「鼠標懸停」事件。當我將鼠標指向一個棋子時,路徑發光應該可以工作。 – Kirataka

回答

1

正如@otololua說,你fl_ClickToGoToAndStopAtFrame_3event參數的類型應該是MouseEvent,而不是鼠標,則可以通過MouseEvent.MOUSE_OVER喜歡這種改變MouseEvent.CLICK

opawn1.addEventListener(MouseEvent.MOUSE_OVER, opawn1_on_MouseOver); 

function opawn1_on_MouseOver(event:MouseEvent): void { 

    var glow_filter: GlowFilter = new GlowFilter(); 
    var filters_array: Array = [glow_filter]; 

    your_target_object.filters = filters_array 

    // ... 

} 

如果你需要的效果是,只有當可見鼠標滑過,你可以使用MouseEvent.MOUSE_OUT這樣刪除它:

opawn1.addEventListener(MouseEvent.MOUSE_OUT, opawn1_on_MouseOut); 

function opawn1_on_MouseOut(event:MouseEvent): void { 

    your_target_object.filters = null; 

    // ... 

} 

希望能幫助你。