打印

[AS3] 变量的使用问题

我在别的as文件里执行var init:initXML=new initXML();这条语句,我现在想在那个文件里使用init.userXML这个语句,但是下面的代码我不知道怎么改,求详细代码
package mymain{
       import flash.display.Sprite;
       import flash.net.URLRequest;
       import flash.net.URLLoader;
       import flash.events.Event;

       public class initXML extends Sprite {
              var userXML:XML;
              public function initXML() {
                     userXML=new XML();
                     var loader:URLLoader=new URLLoader();
                     var req:URLRequest=new URLRequest("cityXML/road.xml");
                     loader.load(req);
                     loader.addEventListener(Event.COMPLETE,onComplete);
              }
              function onComplete(e:Event):void
              {
                     var loader:URLLoader = e.target as URLLoader;

                     if(loader!=null)
                     {
                            this.userXML=new XML(loader.data);
                            trace(this.userXML.toXMLString());
                     }
              }
       }
}

[ 本帖最后由 jimmyshenghua 于 2008-8-7 08:34 编辑 ]
不用改把,把userXML设为public
public var userXML:XML;
不行,我在另一个文件执行trace(init.userXML.toXMLString());条语句没什么东西输出,也没提示错误,但是在onComplete函数里执行就有输出
package mymain{
       import flash.display.Sprite;
       public class Script1 extends Sprite{
              public function Script1(){
                     var init:initXML=new initXML();
                     trace(init.userXML.toXMLString());
              }
       }
}
package mymain{
       import flash.display.Sprite;
       import flash.net.URLRequest;
       import flash.net.URLLoader;
       import flash.events.Event;

       public class initXML extends Sprite {
              var userXML:XML;
              public function initXML() {
                     userXML=new XML();
                     var loader:URLLoader=new URLLoader();
                     var req:URLRequest=new URLRequest("cityXML/road.xml");
                     loader.load(req);
                     loader.addEventListener(Event.COMPLETE,onComplete);
              }
              function onComplete(e:Event):void
              {
                     var loader:URLLoader = e.target as URLLoader;

                     if(loader!=null)
                     {
                            this.userXML=new XML(loader.data);
                            trace(this.userXML.toXMLString());
                      this.dispatchEvent(new Event(Event.COMPLETE));
                     }
              }
       }
}


package mymain{
       import flash.display.Sprite;
       public class Script1 extends Sprite{
              public function Script1(){
                     var init:initXML=new initXML();
                     init.addEventListener(Event.COMPLETE,function (e:Event){trace(init.userXML.toXMLString)})
              }

       }
}
承接FLASH相关项目,具体至:www.yiyiflashstudio.com

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
但是如果按你这样做的话,虽然运行成功,但是他什么也没有输出

TOP

代码上看上去没什么问题

TOP