|
|
|||||
Регистрация: Jan 2008
Сообщений: 15
|
Соединить точки линиями
Есть мини игра, где надо соединять объекты линиями. В некоторых случаях возникает ошибка.
ArgumentError: Error #2025: Предоставленный DisplayObject должен быть дочерним элементом вызывающего объекта. at flash.display::DisplayObjectContainer/removeChild() at quiz_fla::MainTimeline/makeThread() function makeThread(e:MouseEvent) { // нажатие на объект из первого столбца var dot = e.currentTarget; if(dot.line) { removeChild(dot.line); dot.line = null; if(dot.line) dot.line.num2 = null; } addEventListener(Event.ENTER_FRAME, drawLine); function stopDrawing(e:MouseEvent) { // Повторное нажатие мыши for(var i:int = 0;i<dots2.length;i++) { if(dots2[i].hitTestPoint(mouseX,mouseY,true)) { // Если линия подведена к объекту из второго столбца if(dots2[i].line) { removeChild(dots2[i].line); dots2[i].line = null; if(dots2[i].line) dots2[i].line.num1 = null; } var newLine:MovieClip = sprite; dot.line = newLine; dots2[i].line = newLine; newLine.num1 = dot; newLine.num2 = dots2[i]; lines.push(newLine); sprite = null; break; } } if(sprite) { removeChild(sprite); sprite = null; } removeEventListener(MouseEvent.MOUSE_DOWN, stopDrawing); removeEventListener(Event.ENTER_FRAME, drawLine); } function drawLine(e:Event) { if(sprite) { removeChild(sprite); sprite = null; } sprite = new MovieClip(); sprite.graphics.lineStyle(4,0x003366,0.7); sprite.graphics.moveTo(dot.x+dot.width/2,dot.y+dot.height/2); sprite.graphics.lineTo(mouseX,mouseY); addChild(sprite); addEventListener(MouseEvent.MOUSE_DOWN, stopDrawing); } } Последний раз редактировалось iNils; 11.07.2013 в 13:35. |
|
|||||
проверяй наличие sprite.parent или dot.line.parent
__________________
Работаю |
|
|||||
Регистрация: Jan 2008
Сообщений: 15
|
Все, разобрался, поменял на
и |
Часовой пояс GMT +4, время: 02:11. |
|
« Предыдущая тема | Следующая тема » |
|
|