从外部作为类访问舞台上的文本字段?

时间:2013-02-05 08:22:03

标签: actionscript-3 flash actionscript

我想访问我放在舞台上的文本字段,实例名称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"

        }

    }

}

因为你猜对了它没有显示我想要的文字。我搜索高低,但无法找到如何从包内的外部类访问阶段对象。任何帮助将不胜感激

2 个答案:

答案 0 :(得分: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

的情况相同

答案 1 :(得分: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";

}

}