2

ここに 2 つのコード ブロックがあります。

var myTextField:TextField = new TextField();
var myTextFormat:TextFormat = new TextFormat();

addChild(myTextField);

myTextFormat.font = "Arial";
myTextFormat.size = 15;
myTextFormat.color = 0x0000FF;

myTextField.text = "some text";
**myTextField.setTextFormat(myTextFormat);**

VS

var myTextField:TextField = new TextField();
var myTextFormat:TextFormat = new TextFormat();

addChild(myTextField);

myTextFormat.font = "Arial";
myTextFormat.size = 15;
myTextFormat.color = 0x0000FF;

**myTextField.defaultTextFormat = myTextFormat;**

では、 setTextFormat() と defaultTextFormat の違いは何ですか? 物事を行うための 2 つの異なる方法 (1 つはプロパティ別、もう 1 つはメソッド別) です。

いくつかのコードでテスト済み:

var my_txt:TextField =new TextField();
    my_txt.type = TextFieldType.INPUT
     var my_fmt:TextFormat = new TextFormat();
     my_fmt.color = 0xFF0000;

     my_txt.text = "this is for setTextFormat with range";
     my_txt.setTextFormat(my_fmt,0,3);

    // my_txt.text = "this is for setTextFormat without range";
    // my_txt.setTextFormat(my_fmt);

    // my_txt.defaultTextFormat = my_fmt;
    // my_txt.text = "this is for default text format";

    addChild(my_txt);

V.

4

1 に答える 1

3

setTextFormat を使用すると、テキストの一部の書式を変更できます。setTextFormat の他の 2 つのパラメーターを確認してください。defaultTextFormat を設定すると、TextField に追加するすべてのテキストに適用されます。

より詳しい情報 :

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#defaultTextFormat

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#setTextFormat

編集: また、setTextFormat は、フォーマットを設定した後に挿入されたテキストでは機能しません。Adobe は次のように述べています。「ユーザーが手動で挿入したテキスト、または replaceSelectedText() メソッドで置き換えたテキストは、テキスト挿入ポイントに指定された書式設定ではなく、新しいテキストのデフォルトのテキスト フィールド書式設定を受け取ります。新しいテキストのデフォルトの書式設定を設定するには、 defaultTextFormat を使用してください。」

于 2012-05-18T18:18:48.300 に答える