我有一個問題,我似乎無法解決。我正在製作一個動畫,在移動的對象之後繪製一條線(引導線上的圓圈)。這個圈子是一個動畫片段,我有很多線條來繪製。所以,我把它們中的許多放在不同的場景中。我已經創建了來自動畫片段的按鈕,並且在按下它時繪製了一條線。我得到的一切正常工作,但當一條線被繪製,並且你按相同的按鈕來再次繪製相同的線我得到錯誤代碼:#1009 cannot access a property or method of a null object reference.
畫線,並得到錯誤代碼#1009
我認爲這是因爲圖形仍然存在,但我似乎無法在再次繪製之前將其清除。我已經使用graphics.clear();
,但它只是清除所有,所以當它再次「繪製」它不顯示,只有動畫片段動畫的作品。這裏有什麼問題?
我對畫線的代碼是:
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();
末。
試着擺脫場面,他們是邪惡的。當你使用場景時,我不知道變量的範圍/生命週期。該錯誤可能來自ENTER_FRAME監聽器:它仍在運行,但形狀不再被定義,因爲您切換了場景... – pkyeck
我現在試過了,但它不起作用..同樣的錯誤代碼彈出:/但感謝您的幫助:)任何其他想法? – Cat
'ani1'是圓圈對吧!?是時間軸上所有幀的圓圈?你的時間軸上是否有多個關鍵幀,是每個關鍵幀中設置的圓圈的名稱? errormsg會說出有關代碼行的任何內容嗎?null-pointer-exception會發生什麼? – pkyeck