我遇到了一个似乎无法解决的问题。我正在制作一个动画,它在移动的物体(引导线上的圆圈)之后绘制一条线。这个圆圈是一个动画片段,我有很多行可以画出来。所以,我把它们中的许多放在不同的场景上。我已经从动画片段中创建了按钮,按下它时会画一条线。我让一切都正常工作,但是当绘制一条线时,按下相同的按钮再次绘制相同的线,我得到错误代码:#1009 cannot access a property or method of a null object reference.
我认为这是因为图形仍然存在,但我似乎无法在它再次绘制之前清除它。我已经使用了graphics.clear();
但是它只是清除了所有,所以当它再次“绘制”它没有显示时,只有movieclip-animation有效。这有什么问题?
线条图的代码是:
import flash.display.Shape;
import flash.events.Event;
var shape = new Shape();
shape.graphics.lineStyle(2,0xFF0000);
shape.graphics.moveTo(ani1.x, ani1.y);
addChild(shape);
addEventListener(Event.ENTER_FRAME, loop);
function loop(event:Event):void
{
shape.graphics.lineTo(ani1.x, ani1.y);
}
并且按钮的代码是:
import flash.events.MouseEvent;
stop();
menu_button1.addEventListener (MouseEvent.CLICK, buttonClick);
function buttonClick (event:MouseEvent):void
{
gotoAndPlay(2, "AniDel1");
}
并且所有动画最后都有stop();
。