在动作3中,我的TextField
有:
...当使用斜体时,非常正确的角色会被略微切断(特别是上限)。 它似乎无法检测到正确的尺寸。
之前我遇到过这个问题,但只是想知道是否有一个很好的解决方法(而不是检查textWidth
或抵消文本等。)
答案 0 :(得分:3)
使用多行,自动调整大小,htmlText初始化您的textField
,
然后做这个小技巧:
// saving wanted width and height plus 1px to get some space for last char
var savedWidth = myTextField.width + 1;
var savedHeight = myTextField.height + 1;
// removing autoSize, wich is the origin of the problem i think
myTextField.autoSize = "none";
// now manually autoSizing the textField with saved values
myTextField.width = savedWidth;
myTextField.height = savedHeight;
答案 1 :(得分:1)
并不是说你感到很舒服,但Flash有时会遇到这个看似简单的任务。 html TextField
的CSS样式是一个很好的补充,但它引起了文本渲染的麻烦。事实上,由于这个原因,我非常很少使用CSS来设置文本样式。我只能想象在HTML中组合粗体,斜体和普通类型面会导致Flash导致一些宽度计算错误导致autoSize
设置掩盖一点点。我非常希望new text rendering engine in Flash Player 10能最终解决这些问题(理论上它看起来肯定更好)。
所以我的解决方案从不使用HTML,但我的文本中需要<a>
个链接时除外...甚至有些棘手那里的文字转移问题。在这些情况下,我避免在同一文本字段中混合使用不同的字体粗细和字体样式。我直接在TextFormat
上使用TextField
的所有其他案例。
我想如果您无法摆脱当前的架构(出于某种原因),可以尝试将
添加到html编码字符串的末尾。或者您可以手动设置字段的宽度,而不是依赖autoSize
(如您所述)。但是如果你继续使用CSS / HTML路线,你可能会在你不想要的时候发现另一个新的痛苦的限制。
答案 2 :(得分:0)
我遇到过TextField
个屏蔽在Flash预览和实际浏览器插件中表现不同的问题。通常,这对我来说很奇怪,它在浏览器中会更正确。您是否尝试在浏览器中运行swf
以查看问题是否真的是烦恼而不是永久性问题?
我说过这个:
我理想的解决方法是将更改事件附加到TextField
,它总是在字段的最后一个字符后面添加一个空格。然后记住在使用该值时关闭此空间。
但是没有考虑到这可能没有更改事件,而且它是HTML呈现的文本字段。要在HTML文本字段中添加尾随空格再次抛出
,这并不能解决问题。