幫助。基本上我有2個按鈕在不同的框架。如果第1幀上的按鈕被點擊,它將進入並停止在第2幀。如果第2幀上的按鈕被點擊,它將進入並停止在第1幀。我想要做的是通過外部動作來控制這個按鈕文件。沒有問題,運行的第一按鈕,而第二人似乎沒有適當的反應,並有此錯誤消息:Flash AS3外部動作腳本的錯誤控制按鈕
TypeError: Error #1009: Cannot access a property or method of a null object reference. at src::Main/init() at src::Main()
下面的代碼:
package src
{
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.MovieClip;
/**
* ...
* @author vimoetz
*/
public class Main extends MovieClip
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
this.gotoAndStop("1");
button1.addEventListener(MouseEvent.CLICK, gotoFrame2);
button2.addEventListener(MouseEvent.CLICK, gotoFrame1);
}
public function gotoFrame2 (e:MouseEvent)
{
this.gotoAndStop("2");
}
public function gotoFrame1 (e:MouseEvent)
{
this.gotoAndStop("1");
}
}
}
你應該在第一幀有兩個按鈕,擴展到第二個,然後設置button.visible取決於你是哪個幀。 – Kodiak 2013-04-30 08:14:50
你的問題在這裏「基本上我有2個按鈕在不同的框架。」你的2個按鈕必須在第一幀,當你添加監聽器(如果你不希望它是可見的,你可以設置爲false爲第二個按鈕在舞臺上)。或者使用Cherniv解決方案僅在第二幀添加按鈕2的偵聽器。 – RafH 2013-04-30 08:43:04
此方法也適用。謝謝:) – vimoetz 2013-04-30 10:18:41