我在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);
答案 0 :(得分:1)
在Flash中,您可以单击TextField的字符属性下方的[嵌入...]按钮。然后,在您获得的窗口中,您可以指定要在文本字段中嵌入的字符。
关于字体嵌入还有很多话要说,但这是一个简单的故事。 Flash CS5添加了TLF TextFields,但我不认为你指的是那些,对吧?
autoSize属性实际上与字体嵌入无关但我猜你的TextField在你无法自动调整大小时不是动态的吗?
顺便说一句,您使用的是CS5或CS4还是更早?
答案 1 :(得分:1)
要嵌入字体,请不要依赖于将它们包装在库中的MovieClip中。它们应该作为字体正确嵌入。我在下面列出了嵌入字体的一些基本步骤,然后根据您的具体情况提供了一个示例:
1 - 使文本字段动态化并单击“嵌入...”按钮
2 - 将字体命名为有意义的字体(如字体名称)并勾选您将使用的字符集(通常我选择大写字母,小写字母,数字和标点符号)。另请注意Style是'Bold',您需要为每种样式嵌入字体集。因此,如果你想使用Bold和Regular,你需要嵌入2种字体。
3 - 如果您计划通过ActionScript动态添加文本字段,请转到ActionScript选项卡并为其添加一个类(再次使用有意义的名称)
4 - 最后点击确定,然后离开。我已经设置了一个示例,使用这些步骤和自动大小方法,您可以看到下面的结果