单击AS3自定义光标

时间:2016-08-16 08:59:30

标签: actionscript-3 flash animate-cc

我正在制作一个绘画游戏,一旦你点击画笔,鼠标就会切换到所说画笔的图形对应部分,让你在画面上画画。如果未选择任何画笔,则鼠标将保持不变。

矩形和画笔位于一个单独的Movieclip上,它允许我在它上面加上png线,这样你就可以填写并绘制。

在场景1的动作层中,这是我更改鼠标的代码:

var cursor_mc:MovieClip;

if (CanvPark_mc.HugeSelected1 == true){
    cursor_mc = cursor1_mc;
}else if(CanvPark_mc.MediumSelected1 == true) {
    cursor_mc = cursor2_mc;
}else if(CanvPark_mc.SmallSelected1 == true) {
    cursor_mc = cursor3_mc;
}


stage.addEventListener(MouseEvent.MOUSE_MOVE,moveCursor);    
function moveCursor(myEvent:MouseEvent) { 
    if(CanvPark_mc.SmallSelected1 == false, CanvPark_mc.MediumSelected1 == false, CanvPark_mc.HugeSelected1 == false)
    { Mouse.cursor="auto";
    }else{
    setChildIndex(cursor_mc, this.numChildren-1);
    cursor_mc.x = (mouseX); 
    cursor_mc.y = (mouseY); 
    Mouse.hide();  
    }
}

每个画笔都有一个与之关联的布尔变量:Small,Medium和HugeSelected1,这样,我可以在代码中随时告诉我选择一个,而不是一个。

现在,运行此代码,一开始没有任何反应,但是如果我点击任何一个画笔,它会在输出中弹出。

TypeError: Error #2007: Parameter child must be non-null.
    at flash.display::DisplayObjectContainer/setChildIndex()
    at visibilityToggle/moveCursor()[visibilityToggle::frame1:42]

似乎是专门指着

 setChildIndex(cursor_mc, this.numChildren-1);

老实说,我不知道是什么导致了这个错误。我认为改变我的鼠标光标会是这么简单。

我该如何解决这个问题?

0 个答案:

没有答案