我在动作脚本3 Adobe 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;
}
这里我使用鼠标点击事件,如果我将其更改为鼠标悬停,则无效。
请告诉我上述代码是否正确。
如何实现这一目标?
答案 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;
// ...
}
希望能帮到你。