as3怎样自动调整字号适应固定大小的文本框

怎样自动调整字号适应固定大小的文本框

如题,舞台上有个高度100宽度100的动态文本框,
在脚本中需要多次改变文本内容,但是不想让文本框自动调整宽度,而是让文字自动调整字号适应固定大小的文本框,怎么办?

搜索到很多都是自动调整文本框的TextFieldAutoSize,有没有自动字号的类似属性啊?

文本框有 textWidth textHeight 两个属性的
width height 文本框本身值 上面两个是文本的实际值

完全容纳或文字不长于文本框时 textWidth <= width

否则会大于值

你用while去不断缩小值,并判断是否已经少于等于就可以了

这种方法 as2 as3通用。追问

我想实现类似2048朝代版显示效果,
一个大格内显示文字,最初显示一个大字 “夏”,
两三个字能缩小显示到一起“三国”“南北朝”,
四个字能分两行显示

五代
十国

您觉得怎么写?给个源码好吗?
var textArr=[ “夏”,“三国”“南北朝”,"五代十国"];
my_txt.text=textArr[1]

主要是那个while怎么写?

追答

给一个as2的示例你,你参考一下吧

忘记了as3中是否有垂直居中的选项,我在as2中直接使用_y来调垂直居中了


代码思路可以参考,语法可以忽略 

温馨提示:内容为网友见解,仅供参考
无其他回答

as3怎样自动调整字号适应固定大小的文本框
你用while去不断缩小值,并判断是否已经少于等于就可以了 这种方法 as2 as3通用。

AS3中怎么拖动舞台上的可输入文本框?
可以在鼠标点击的时候,使用EnterFrame事件,跟随鼠标改变文本框的位置,这样看起来就像是在拖动了。

用flash as3.0制作的输入文本框,生成SWF文件后,不能在文本框中输入文字...
import flash.text.TextField;var txt:TextField=new TextField();txt.type = TextFieldType.INPUT;txt.text="请在此输入文本"txt.border=true;addChild(txt);请注意那个txt.type行,这个才是决定文本的类型是不是输入文本呢.

as3点击按钮文本框里显示数字,怎样能让依次显示,而不是点击一个就显示...
考虑监听按钮,用EnterFrame和TimerEvent (比较简单,但耗资源)都行。定时刷新文本框的值。EnterFrame为例:botton.addEventListener(Event.ENTER_FRAME,onEnter_Frame)然后在onEnter_Frame()里面遍历需要显示的数组,把数字赋值到文本框,遍历数组完成后,移除监听。另,可以加一计数器private var frameCount...

Flash CS4(AS3) 中怎样用输入文本框和输出文本框
i4.text=String(Number(i1)+Number(i2)+Number(i3));

...框就记录A文本框的内容。请问flash as3.0 怎样写?
你说问题没有看明白, 你的意思是, B和A的文本显示始终一样吗?还是总共要三个对象, 按钮btn\/文本框A\/文本框B,在单击btn的时候A显示"1", B显示A中的文本内容(也是"1")

AS3.0中影片剪辑元件嵌套了个动态文本框,怎样才能在文本框上也能显示...
你试试在动态文本框上面叠一个透明的(也就Alpha值为0)按钮或者影片剪辑

AS3:怎样侦听动态文本框text内容的改变: txtA.addEventLister(?,_ch...
txtA.addEventListener(Event.CHANGE,changeOK);但这个事件是键盘改变TextInput的text是调用的 如果你按钮改变txtA的话,是不会激发此事件 不过要做到你说的效果,也是可以的 一个就是楼上所说的方法,直接在按钮上控制txtB就是了;一个就是执行完按钮事件后直接调用另外一个方法改变txtB的内容 还有一...

flash单行文本显示全部文字
请使用以下代码:text2_txt.autoSize=true;如果是AS3 使用一下代码 text2_txt.autoSize="left"\/\/复制代码到软件里时 注意中英文标点 \/\/这样即可自动适应宽度 注意将文本框属性设置为 单行,如果不要适应宽度而是自动换行,那就将属性设置为多行 \/\/记得要将以上代码添加在 赋值之前哦 ...

flash as3 怎么样让我点击出现数字在文本框内显示
1234是什么啊...textField吗?加个鼠标点击侦听啊 var tf:TextField = new TextField;tf.text = '1';tf.addEventListener(MouseEvent.CLICK,onClick);var outPutTf:TextField=new TextField function onClick(e:MouseEvent):void{ outPutTf.text = TextField(e.target).text;} ...

相似回答