AS3:嵌入字符

时间:2011-04-11 19:23:14

标签: actionscript-3 text embedded-fonts

我在TextFields和caracter嵌入方面遇到了一些麻烦。据我所知,在Flash中嵌入字符的方法是在movieclip中使用TextField,通过某个类名导出到actionscript。然后让TextField嵌入字符。

但是当我尝试在我的项目中使用TextField时,我无法再自动调整字段大小!?是否有更好的方式来嵌入字符?还是我错过了一些未知的属性? (是的,我试过TextField.autoSize = "left" (or "center" or "right"))。

TextField在Flash CS4中配置如下:
属性: http://screencast.com/t/0VB6KnNO6G
图书馆实施: http://screencast.com/t/w3yQLqit0veI

我嵌入了包含TextField的MovieClip,如下所示:

protected var tabname:MovieClip = new Text(); // The property on the object

添加文字并设置其设置:

var txt:TextField = tabname.txt;

        if( !contains(tabname) )
        {
            addChild(tabname);

            var format:TextFormat = new TextFormat();
                format.bold = true;
                format.font = "Arial";
                format.size = 12;
                format.align = "left";

            var dropShadow = new DropShadowFilter(0);
                dropShadow.color = 0xFFFFFF;
                dropShadow.strength = 2;
                dropShadow.blurX = dropShadow.blurY = 5;
                dropShadow.alpha = .7;

            txt.type = TextFieldType.DYNAMIC;
            txt.multiline = tabname.wordWrap = false;
            txt.autoSize = TextFieldAutoSize.LEFT;
            txt.defaultTextFormat = format;
            txt.filters = [dropShadow];
            txt.mouseEnabled = false;
            txt.x = 10;
        }

        txt.text = value;
        txt.y = Math.ceil((tabmask.height - txt.height) /2);

2 个答案:

答案 0 :(得分:1)

在Flash中,您可以单击TextField的字符属性下方的[嵌入...]按钮。然后,在您获得的窗口中,您可以指定要在文本字段中嵌入的字符。

关于字体嵌入还有很多话要说,但这是一个简单的故事。 Flash CS5添加了TLF TextFields,但我不认为你指的是那些,对吧?

autoSize属性实际上与字体嵌入无关但我猜你的TextField在你无法自动调整大小时不是动态的吗?

顺便说一句,您使用的是CS5或CS4还是更早?

答案 1 :(得分:1)

要嵌入字体,请不要依赖于将它们包装在库中的MovieClip中。它们应该作为字体正确嵌入。我在下面列出了嵌入字体的一些基本步骤,然后根据您的具体情况提供了一个示例:

1 - 使文本字段动态化并单击“嵌入...”按钮

enter image description here

2 - 将字体命名为有意义的字体(如字体名称)并勾选您将使用的字符集(通常我选择大写字母,小写字母,数字和标点符号)。另请注意Style是'Bold',您需要为每种样式嵌入字体集。因此,如果你想使用Bold和Regular,你需要嵌入2种字体。

enter image description here

3 - 如果您计划通过ActionScript动态添加文本字段,请转到ActionScript选项卡并为其添加一个类(再次使用有意义的名称)

enter image description here

4 - 最后点击确定,然后离开。我已经设置了一个示例,使用这些步骤和自动大小方法,您可以看到下面的结果

enter image description here