Как получить доступ к root в AS3? - PullRequest
0 голосов
/ 30 апреля 2011

Итак, после нескольких часов попыток выяснить, почему мой код не компилируется, я обнаружил, что этот код несовместим с AS3:

function loadXML(loaded) {
if (loaded) {
_root.inventor = this.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
_root.comments = this.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue;
name_txt.text = _root.inventor;
comment_txt.text = _root.comments;
} else {
  trace("file not loaded!");
}
}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("http://localhost/connect.php");

Кто-нибудь знает, как получить доступ к руту в AS3? Спасибо!

Ответы [ 3 ]

1 голос
/ 30 апреля 2011

Вот что я в итоге сделал:

var myXML:XML = new XML();
var XML_URL:String = "http://localhost/connect.php";
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);

function xmlLoaded(event:Event):void
{
    var finalXML:XML = XML(myLoader.data);
    //trace(finalXML);
    trace("Data loaded.");
    //trace(finalXML.triviaQuestion[0].answer1[0]);
    //questionBox.text = (finalXML.triviaQuestion[0].question[0]).toString();
}
0 голосов
/ 21 июля 2012

Используйте MovieClip(root) вместо _root, это работает!
Как это:

function loadXML(loaded){
 if (loaded) {
  MovieClip(root).inventor = this.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
  MovieClip(root).comments = this.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue;
  name_txt.text = MovieClip(root).inventor;
  comment_txt.text = MovieClip(root).comments;
 } else {
  trace("file not loaded!");
 }
}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("http://localhost/connect.php");
0 голосов
/ 30 апреля 2011

Если вы имеете в виду корневой Sprite или MovieClip (класс документа) фильма, вы можете просто использовать свойство root любого DisplayObject на сцене.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...