Kirataka
Kirataka

Reputation: 482

Path glow effect in the mouse over event in actionscript 3

I'm building a board game in action script 3 Adobe flash. In that if i mouseover on a particular pawn, it has to show the number of steps which can be moved by that pawn with respect to dice value with path glow effect.

Here in my code path will glow after i move the pawn with respect to dice number.

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

Here I used mouse click event, Its not working if i change it as mouseover.

Please let me know the above code is correct or not.

How to achieve this?

Upvotes: 1

Views: 342

Answers (1)

akmozo
akmozo

Reputation: 9839

As @otololua said, the type of your fl_ClickToGoToAndStopAtFrame_3 event parameter should be MouseEvent and not Mouse, then you can change MouseEvent.CLICK by MouseEvent.MOUSE_OVER like this :

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

    // ...

}

And if you need that effect be visible only when the mouse is over, you can remove it using MouseEvent.MOUSE_OUT like this :

opawn1.addEventListener(MouseEvent.MOUSE_OUT, opawn1_on_MouseOut);

function opawn1_on_MouseOut(event:MouseEvent): void {

    your_target_object.filters = null;

    // ...

}

Hope that can help you.

Upvotes: 1

Related Questions