2

Flash CS5 と ActionScript 3 を使用しています。

TLFTextField の wordWrap プロパティを true から false に、またはその逆に (イベントに応じて) 動的に切り替える必要があります。古い TextField クラスで動作させましたが、TLF で動作させることができません。

フィールドを宣言し、wordWrap を true に設定して、次のように設定します。

this.field = new TLFTextField;
field.multiline = true;
field.wordWrap = true;
field.autoSize = TextFieldAutoSize.LEFT;

field.tlfMarkup = my_content;

this.addChild(field);
var myTextFlow:TextFlow = field.textFlow;
myTextFlow.hostFormat = format; //format is a TextLayoutFormat declared earlier
myTextFlow.flowComposer.updateAllControllers();

ワードラッピングを変更するために、次のことを試しました。

field.wordWrap = false;
field.multiline = false;
var myTextFlow:TextFlow = field.textFlow;
myTextFlow.flowComposer.updateAllControllers();

しかし、これは何の効果もありません。テキストは折り返されたままです。何が欠けているのか誰か教えてもらえますか?

前もって感謝します、

アマンダ

4

2 に答える 2

2

wordwrap を false に変更するには、テキスト セットが必要です。(それを機能させるのに約30分かかりました!)

field.wordWrap = false;
trace(field.wordWrap); // will echo true

これは次のように機能するはずです:

if(field.text == ""){

  field.text = "a";
  field.wordWrap = false;
  field.text = "";

} else {

  field.wordWrap = false;

}

trace(field.wordWrap); // should echo false
于 2011-08-12T07:22:57.977 に答える
0

まず、試しましたか: this.field = new TLFTextField();

括弧がありませんでした。

少なくとも一見の価値があります。(また、これは現在ベータ版だと思うので、バグの可能性はありますか?)

最後に、AutoSize を使用せずにこれをテストすることを検討してください。問題が発生することがあります。

正確な解決策について、これ以上お役に立てず申し訳ありません。

于 2011-03-17T21:01:46.897 に答える