Actionscript 3 AS3:通过类显示从一个swf到另一个swf的数据(整数)

Actionscript 3 AS3:通过类显示从一个swf到另一个swf的数据(整数),actionscript-3,Actionscript 3,我有一个score1.as类,它将从swf访问数据并将其显示到 我的finalscore.fla…我能够成功地将数据传递并跟踪到finalscore.fla…但我的问题是:虽然我能够通过跟踪来访问数据,但我无法将其显示到我的动态文本中…我只需键入txtScore.text=Score:+lol1.go;可以解决问题,但它没有…请帮助…这是我的代码…顺便说一下,我正在使用actionscript 3.0 评分1.as: finalscore.fla: 检查嵌入的字体。您可能只嵌入编译时出现的字体中

我有一个score1.as类,它将从swf访问数据并将其显示到 我的finalscore.fla…我能够成功地将数据传递并跟踪到finalscore.fla…但我的问题是:虽然我能够通过跟踪来访问数据,但我无法将其显示到我的动态文本中…我只需键入txtScore.text=Score:+lol1.go;可以解决问题,但它没有…请帮助…这是我的代码…顺便说一下,我正在使用actionscript 3.0

评分1.as:

finalscore.fla:


检查嵌入的字体。您可能只嵌入编译时出现的字体中的字符。例如,如果您有一个包含Hello World!的文本字段!,你想做textfield.text=抖动的果冻主!将显示为l ello ord,因为编译期间文本字段中只存在这些字符

编辑: 我仔细查看了你的代码。在获取内容之前,您需要致电家长。事实上,将其重命名为构造函数,您应该很好

package {
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLRequest;

    public class score1 extends Sprite {
        public var loader:Loader;

        public function score1() {
            // You need to run this code as your constructor.
            loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
            loader.load(new URLRequest("savescore.swf"));
        }

        public function onLoaded(e:Event):void {
            trace(loader.content['currentScore']);
        }

        public function go():int {
            return loader.content['currentScore'];
        }
    }
}
您还希望在访问数据之前等待加载内容。为此,在尝试txtScore.text=Score:+lol1.go之前,您需要等待您的加载启动

编辑2 onload是您知道它是否运行的方式。当Event.COMPLETE激发时调用它。通过相同的扩展,只需从类外部注册该事件,或触发事件,或加载数据后完成的任何其他解决方案

finalscore.fla:


谢谢你的回复。我会尝试一下。代码没有问题吗?谢谢。我只是做了你在编辑时所做的。我只是在score1.as中用score1替换了父级,还替换了lol1.Parent;至1.1分;在finalscore.fla中…但我仍然得到一个错误…它说:通过一个静态类型score1的引用调用可能未定义的方法score1。知道如何解决这个问题吗?你不能直接调用构造函数。当您实例化一个类时,会自动调用它。所以只需执行var lol1:score1=新的score1;在加载运行之后,您可以设置txtScore.text值。谢谢。我如何知道加载是否运行?我要追踪它吗?哇!。。你救了我…非常感谢…它很有效…希望你继续回答像我这样的noob程序员的问题。。
var lol1:score1 = new score1();


txtScore.text = ("Score: " + lol1.go() ); // This is where I can't display the data


lol1.Parent();//I successfully traced the data
package {
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLRequest;

    public class score1 extends Sprite {
        public var loader:Loader;

        public function score1() {
            // You need to run this code as your constructor.
            loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
            loader.load(new URLRequest("savescore.swf"));
        }

        public function onLoaded(e:Event):void {
            trace(loader.content['currentScore']);
        }

        public function go():int {
            return loader.content['currentScore'];
        }
    }
}
var lol1:score1 = new score1();
lol1.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, scoreReady);

function scoreReady(e:Event):void {
    txtScore.text = "Score:" + lol1.go();
}