我是AS3的新手,我正在尝试从另一个帧访问一个帧的实例。这是我的代码。
package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.Stage;
import flash.text.TextField;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLLoaderDataFormat;
import flash.net.URLVariables;
public class Main extends MovieClip {
var fl_TextLoader:URLLoader = new URLLoader();
var fl_TextURLRequest:URLRequest = new URLRequest("questions.xml");
var arrquestions:Array = new Array();//create new array
public function Main() //main class call all the actions here
{
fl_TextLoader.addEventListener(Event.COMPLETE, fl_CompleteHandler);
fl_TextLoader.load(fl_TextURLRequest);
init();
}
我收到了这部分的错误,TypeError: Error #1009: Cannot access a property or method of a null object reference.
我认为这是因为它不在同一帧上。
private function init():void
{
btn1d.addEventListener(MouseEvent.CLICK,play1d);
btn2d.addEventListener(MouseEvent.CLICK,play2d);
}
function fl_CompleteHandler(event:Event):void
{
var xmlData:XML = new XML(fl_TextLoader.data);
//pass xml data to array variable
arrquestions[0]=xmlData.q1;
arrquestions[1]=xmlData.q2;
arrquestions[2]=xmlData.q3;
//load first question here
q1.text = arrquestions[0];
}
function play1d(event:MouseEvent):void
{
gotoAndStop ("questions2")
q2.text = arrquestions[1];
}
function play2d(event:MouseEvent):void
{
gotoAndStop ("questions3")
q3.text = arrquestions[2];
}
}
}
答案 0 :(得分:0)
正如马蒂所说,这是不可能的。我建议你尽快摆脱时间表中的编码。使用外部类是一种更灵活的工作方式。它不必太复杂;将您的Flash文件链接到外部文件,它与时间线中的编码非常相似 - 除了您可以引用不一定在舞台上的对象。