我正在制作一个绘画游戏,一旦你点击画笔,鼠标就会切换到所说画笔的图形对应部分,让你在画面上画画。如果未选择任何画笔,则鼠标将保持不变。
矩形和画笔位于一个单独的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);
老实说,我不知道是什么导致了这个错误。我认为改变我的鼠标光标会是这么简单。
我该如何解决这个问题?