0

我想访问我放置在舞台上的文本字段,其中包含texx 来自外部 as3 文件的实例名称和代码。

package src 
{   

    import flash.display.Stage;
    import flash.display.MovieClip;

    public class Global 
    {
        public static var _stage:Stage;
        public static var r:MovieClip = MovieClip(root);

        }

        public function Global()
        {
                r.texx.text = "some text"

        }

    }

}

正如您所猜测的那样,它没有显示我想要的文本。我搜索了高低,但找不到如何从包内的外部类访问舞台对象。任何帮助,将不胜感激

4

2 回答 2

0

您无法从非显示类访问舞台实例,舞台没有对其实例的静态获取器。唯一的方法是stage从视图类中设置属性,例如:

package src 
{   

import flash.display.Stage;
import flash.display.MovieClip;

public class Global
{
    private static var _stage:Stage;

    public static function set stage(value:Stage):void 
    {
        if(stage != value)
        {
            _stage = value;
            init();
        }
    }
    public static function get stage():Stage 
    {
        return _stage;
    }

    private static function init():void
    {
        stage.texx.text = "some text";
    }
}
}

和文档类中的代码:

Global.stage = stage;

如果对于root.

于 2013-02-05T08:36:39.643 回答
0

通过从刚刚创建的影片剪辑内部将文本字段添加为类对象来解决问题,给影片剪辑(其中是文本字段 tex)类名src.texter ,然后作为类

package src 
{   

import flash.display.Stage;
import flash.display.MovieClip;
import src.texter;

public class Global
{
    public var texxx:texter = new texter;


    public function Global()

        {
                    addChild(texxx);
            texxx.x = 336;
            texxx.y = 330;
            texxx.tex.text = "some text";

}

}
于 2013-02-05T09:33:48.030 回答