0

プロジェクトを継承し、別の会社で使用するためにスタイルを変更する必要があります。現在埋め込まれているフォント、DIN Next LT Pro を Helvetica Neue で変更するのに問題があります。

私はフラッシュと AS3 を初めて使用するので、これをゼロから学んでいます。グーグルでこの問題を調査するのに最後の日を費やし、多くの解決策を試してみましたが、役に立たなかったと言っています。

フラッシュの設定はこんな感じ。

次のフォントが埋め込まれたfeedback.fla :

  • DIN Next LT Pro Bold Condensed
  • DIN Next LT Pro ライト コンデンス
  • DIN Next LT Pro レギュラー
  • Helvetica Neue LT Std 45 ライト
  • Helvetica Neue LT Std 55ローマン
  • Helvetica Neue LT Std 75 ボールド

DIN フォントは既にインストールされています。[埋め込み] をクリックして Helvetica フォントを追加し、フォントと同じフォント名をスペースなしで追加しました (例: HelveticaNeueLTStd75Bold)。

FeedbackPage.asは、使用するフォントを指定してタグに適用しているようです。

public class FeedbackPage extends AbstractPage {
    public static const FONT_BOLD : String = "DIN Next LT Pro Bold Condensed";
    public static const FONT_LIGHT : String = "DIN Next LT Pro Light Condensed";
    public static const FONT_REGULAR : String = "DIN Next LT Pro";
    etc.. etc..

FeedbackPage.as は、別の .as ファイルもインポートします。

import dk.electric.synoptik.components.feedbackelements.PercentFeedback;

PercentFeedback.asこのファイルは、テキスト フィールドを作成し、フォントを適用します。

var tfmtPercent : TextFormat = new TextFormat(FeedbackPage.FONT_BOLD, fontSize, 0x0a9fda);
_tfPercent = TextFieldUtils.createTextField(6, yPos, 150, 95, Math.abs(pctDif).toString() + "%", tfmtPercent, false, TextFieldAutoSize.NONE);
_sprContainer.addChild(_tfPercent);

新しいフォント Helvetica Neue LT Std 75 Bold を fla ファイルに埋め込んだ後、FeedbackPage.as を次のように変更します。

public static const FONT_BOLD : String = "Helvetica Neue LT Std 75 Bold";

私のフラをエクスポートし、アップロードして見てみると、テキストが消えています。埋め込み時に割り当てた名前 (HelveticaNeueLTStd75Bold) を使用してみましたが、これも機能しません。

私が大規模に立ち往生しているので、何かアイデアはありますか?

TextFieldUtils

package com.madsb.utils {
    import flash.text.TextField;
    import flash.text.TextFormat;

    public class TextFieldUtils {

        public static function createTextField(x : Number = 0,
            y : Number = 0,
            width : Number = 100,
            height : Number = 100,
            text : String = "",
            textFormat : TextFormat = null,
            multilineWordWrap : Boolean = false,
            autoSize : String = "none",
            embedFonts : Boolean = true,
            antiAliasType : String = "advanced",
            selectable : Boolean = false) : TextField {

                var tf : TextField = new TextField();
                tf.x = x;
                tf.y = y;
                tf.width = width;
                tf.height = height;
                tf.embedFonts = embedFonts;
                tf.selectable = selectable;
                tf.multiline = tf.wordWrap = multilineWordWrap;
                tf.autoSize = autoSize;
                tf.antiAliasType = antiAliasType;
                tf.defaultTextFormat = textFormat;
                tf.htmlText = text;

                return tf;
            }

    }
}
4

1 に答える 1

0

ライブラリに埋め込まれたフォントを使用してみてください (コンピューターにそのフォントがインストールされていない場合でも、そのフォントを見ることができます)。次に、フォントをその名前に設定します(myFormat.font = myFont.fontName;ここで、 myFormat は TextFormat の名前で、 myFont はフォントの変数名です。「fontName」の部分は、フォントの名前ではなく、このように保持する必要があります)

また、よくわかりませんが、「Helvetica Neue LT Std 75 Bold」と「HelveticaNeueLTStd75Bold」は同じではないため(スペースが含まれているため)、フラッシュは参照しているフォントを認識できない可能性があります。

于 2012-05-23T15:08:08.950 に答える