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 に答える