[英]Controlling instance of another frame AS3
我是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];
}
}
}
正如馬蒂所說,這是不可能的。 我建議您盡快擺脫時間軸編碼。 使用外部類是一種更加靈活的工作方式。 它不必太復雜。 將您的Flash文件鏈接到一個外部文件,這與時間軸中的編碼非常相似-除了可以引用不一定在舞台上的對象之外。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.