メイン ActionScript 3.0 特設会議室 TLF テキストボックスを配置すると、クラスから stage 変数が取得できない | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tg_jp | Åê¹ÆNo.47286 投稿日時: 2011-4-1 12:17 |
新米 居住地: 投稿: 2
使用環境:
|
TLF テキストボックスを配置すると、クラスから stage 変数が取得できない 表題の現象がでているのですが、固有の現象なのかどうか不明です。
また、何か回避方法等ありますでしょうか? Mac版 Flash CS5 11.0.2.489 を Mac OSX 10.6.7 で使用しています。 再現手順 1. 新規に ActionScript 3.0 で fla ファイルを作成し、ステージにテキストフィールドを配置します。CS5 の場合、TLF テキストがデフォルトで使用されます。 2. fla ファイルのクラス欄に適当なクラス名を入力し、クラスファイルを作成します。 3. コードのコンストラクタ部分に、 trace( stage ); を入力します。クラスファイルは下記のようになります。
このプロジェクトをコンパイルすると、出力パネルには null とでます。1 で配置したテキストをクラシックにしてやると、想定通り [object Stage] と出力されます。 できれば TLFテキストを使用したいのですが、この場合手順が間違っているのでしょうか。 よろしくお願いいたします。 |
野中文雄 | Åê¹ÆNo.47287 投稿日時: 2011-4-1 13:19 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: TLF テキストボックスを配置すると、クラスから stage 変数が取得できない 「flashx.textLayoutパッケージのクラスを使うとコンストラクタからStageにアクセスできない」をお読みください。おそらく仕様と思われます。ただ、インスタンスの生成過程について、正規のドキュメントに説明がほしいところです(私の探したかぎりでは、見当たりませんでした)。
引用: tg_jpさんは書きました: |
tg_jp | Åê¹ÆNo.47291 投稿日時: 2011-4-2 10:32 |
新米 居住地: 投稿: 2
使用環境:
|
Re: TLF テキストボックスを配置すると、クラスから stage 変数が取得できない 返信ありがとうございます。リンク先の方法で回避できました。
まとめますと、TLF テキストをインスタンスとして配置/定義したドキュメントクラスのコンストラクタ内では、 stage 変数にはアクセスできないので、TLF テキストを持つドキュメントクラスのコンストラクタで、stage 変数を参照/設定(stage.scaleMode や stage.align 等)したい場合には、addedToStage ( Event.ADD_TO_STAGE ) イベントを経由する。
ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |