鼠标中的路径发光效果在动作脚本3中的事件

时间:2015-01-10 04:48:31

标签: actionscript-3 flash

我在动作脚本3 Adob​​e Flash中构建棋盘游戏。因为如果我鼠标悬停在特定的棋子上,它必须显示该棋子可以移动的步数相对于具有路径发光效果的骰子值。

在我的代码路径中,在我移动pawn后,相对于骰子编号会发光。

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

这里我使用鼠标点击事件,如果我将其更改为鼠标悬停,则无效。

请告诉我上述代码是否正确。

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

正如@otololua所说,fl_ClickToGoToAndStopAtFrame_3 event参数的类型应该是MouseEvent而不是鼠标,那么您可以MouseEvent.CLICK更改MouseEvent.MOUSE_OVER这个:

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;

    // ...

}

希望能帮到你。