0

現在ステージ上にあるFlashのTextAreaコンポーネントのフォントサイズをAS3で変更したいです。

インスタンス名で TextFormat オブジェクトを TextAera にリンクしようとしましたが、次のエラーが発生します。

Scene 1, Layer 'actions', Frame 1, Line 44  1061: Call to a possibly undefined method setTextFormat through a reference with static type fl.controls:TextArea.

AS3 コードは次のとおりです。

var myTextFormat:TextFormat = new TextFormat();

myTextFormat.font = "Arial";
myTextFormat.size = 10;
myTextFormat.color = 0xffffff;

my_textArea.setTextFormat(myTextFormat)
4

3 に答える 3

1

このスニペットを試してください:

myTextArea.setStyle("textFormat", myTextAreaFormat);
于 2012-11-10T17:31:50.047 に答える
0

1つの答えが受け入れられますが、それは私にはうまくいきません。この解決策を見つけました:

mx.controls.TextArea をインポートします。

_global.styles.TextArea.setStyle("fontFamily", "Arial");

_global.styles.TextArea.setStyle("fontSize", 30);

PS: AS2 で必要な場合。

于 2014-04-11T20:36:54.040 に答える
0

私が発見したのは、テキストを追加する前に textFormat を設定する必要があるということです。これを行うと、setTextFormat コマンドが正常に機能します。ただし、関連付けられた textField が定義された後に関連付けられた textFormat を定義すると、壊れてフォント サイズが設定されません。

  1. textField のラッパーを定義します(私の場合はスプライトを使用しました)
  2. textBox の textFormat を定義します (私の場合、「textBoxFormat」を定義しました)
  3. テキストフィールドを定義します(私の場合、「textBox」を使用しました)
  4. textBox をラッパーに追加します
  5. 最後に、textFormat ==> textBox.setTextFormat(textBoxFormat); を設定します。

ステップ 1 のラッパーをステージ (または他の要素) に追加します。

正直なところ、最初のステップが必要であると 100% 確信しているわけではありませんが、安全のために、textField をラップすることが有益であることがわかりました。アドビの奇妙な「標準」を紹介した 34 年間のプログラミング。実用的な代替手段があればいいのですが、ないようです。

于 2014-03-10T20:17:07.743 に答える