0

コード:

var BoldTextFormat:TextFormat = new TextFormat();
BoldTextFormat.bold = true;
weapons[player.activeWeapon].weaponName.defaultTextFormat = BoldTextFormat;

これは非常に単純に見えますが、何もしていません! テキストはまったく太字になりません。

を使用weapons[player.activeWeapon].weaponName.setTextFormat(BoldTextFormat);しても何もしません。

これらはtrace:

trace(weapons[player.activeWeapon].weaponName);
trace(weapons[player.activeWeapon].weaponName.defaultTextFormat);
trace(BoldTextFormat);

この出力の結果:

[object TextField]
[object TextFormat]
[object TextFormat]

そして、これは私が太字にしようとしているテキストフィールドです:

http://i.stack.imgur.com/z2f0B.png

太字のフォントを埋め込みました:

http://i.imgur.com/l9qJ95X.png

何が間違っている可能性がありますか?エラーはありません。テキスト フィールドのテキストをトレースすると正しいテキストが表示されるため、問題になることはありません。

4

2 に答える 2

1

試す :

 weapons[player.activeWeapon].weaponName.setTextFormat(BoldTextFormat);

defaultTextFormatフォーマットを設定した後に追加されたテキストに適用されます。すでに設定されているテキストのフォーマットを変更する場合は、使用する必要がありますsetTextFormat

于 2013-04-24T23:47:41.453 に答える
1

太字のフォントを埋め込む必要がある場合があります。画像には「通常の」フォントが表示されます。

わかりました、私はここで魔法を理解しました。それがあなたのために働き始めた理由は、実際にフィールドに太字のフォントを設定したからでしょう。

しかし、ここに魔法があります。ライブラリで、太字のフォントを右クリックし、プロパティを選択します。次に、actionscript 設定に移動して有効にします。

actionscript のエクスポート

次に、コードに次の行を追加する必要があります。

BoldTextFormat.font = "Times New Roman Bold";

それはうまくいくはずです。

悲しいことに、TextFormat の .bold は太字バージョンを自動的に検出しないようです。

于 2013-04-24T23:54:22.713 に答える