自动调整影片剪辑以匹配文本大小(AS3)

时间:2016-04-24 19:52:23

标签: actionscript-3 text dynamic border autosize

我想在一些动态文本周围添加专门的边框。 过滤的特殊类型边框无法生成

所以我需要这个边框来匹配动态文本的长度。 不幸的是,这段代码无效

thistext.autoSize = TextFieldAutoSize.LEFT;
border.width = thistext.width;

发生的情况是,边框宽度设置为文本的初始起始宽度,并且不会随着文本宽度的变化而改变

关于如何使这项工作的任何想法?

2 个答案:

答案 0 :(得分:1)

您应该只收听文字更改:flash.events.Event.CHANGE,而不是检查每一帧。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#event:change

此外,无论autosize属性的值如何(Width必须设置为最大宽度),您都可以使用textWidth属性来获取实际文本宽度。我不是自动大小功能的忠实粉丝,它隐藏了最大宽度,虽然它存在于内部(等于文本字段的宽度属性,设置自动调整大小...)。我宁愿有一个不太“神奇”但更清晰的行为,但这是有争议的,特别是如果你的文本必须与鼠标交互(点击,悬停..),那么你可以利用自动更新的界限

答案 1 :(得分:0)

我实际上抓住了我的错误。 我需要将代码添加到事件监听器中,该监听器在动态更改后检查每个帧,以便此代码工作

border.width = thistext.width;
相关问题