Я работаю над игрой для рисования, в которой, как только вы нажмете на кисти, мышь переключится на графический аналог указанных кистей и позволит вам рисовать на экране. Если кисть не выбрана, мышь останется прежней.
Прямоугольник и кисти находятся в отдельном мувиклипе, что позволяет мне накладывать на него линии 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);
Я честно не знаю, что вызывает эту ошибку. Я думал, что будет так просто изменить курсор мыши.
Как я могу это исправить?
new MovieClip()
наcursor_mc
. Но прямо сейчас это дает мне другую ошибку.Error #2025: The supplied DisplayObject must be a child of the caller. at flash.display::DisplayObjectContainer/setChildIndex() at visibilityToggle/moveCursor()[visibilityToggle::frame1:53]
- person TwistedRaven   schedule 16.08.2016const theParent:DisplayObjectConatiner = cursor_mc ? cursor_mc.parent : null; if (theParent) { theParent.setChildIndex(cursor_mc, theParent.numChildren - 1) }
- person Nbooo   schedule 16.08.2016