Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 自动调整文本大小以适合按钮的宽度_Actionscript 3_Flash_Flash Cs5 - Fatal编程技术网

Actionscript 3 自动调整文本大小以适合按钮的宽度

Actionscript 3 自动调整文本大小以适合按钮的宽度,actionscript-3,flash,flash-cs5,Actionscript 3,Flash,Flash Cs5,我仔细查看了一下四周,但找不到任何能直接解决我问题的东西。有好几篇文章的思路是正确的,但我无法通过思考来解决这个问题 我需要自动调整文本大小,使其不超过按钮的宽度。“我的大小”文本的最大长度似乎是13个字符,然后才会变得太大 -- 该程序首先动态创建几个按钮,用XML文档中设置的标题和描述填充它们 要添加文本,我有以下代码: var tform:TextFormat = new TextFormat(); tform.size = 20; tform.font = "Arial"; tform.

我仔细查看了一下四周,但找不到任何能直接解决我问题的东西。有好几篇文章的思路是正确的,但我无法通过思考来解决这个问题

我需要自动调整文本大小,使其不超过按钮的宽度。“我的大小”文本的最大长度似乎是13个字符,然后才会变得太大

--

该程序首先动态创建几个按钮,用XML文档中设置的标题和描述填充它们

要添加文本,我有以下代码:

var tform:TextFormat = new TextFormat();
tform.size = 20;
tform.font = "Arial";
tform.align = TextFormatAlign.CENTER;
tform.color = 0xFFFFFF;
tform.bold = true;

var tfield:TextField = new TextField();
tfield.text = texttitle;
tfield.width = button.width;
tfield.x = 0;
tfield.y = 30;

tfield.setTextFormat(tform);
addChild(tfield);
这会将文本直接定位在按钮中心,距离顶部30像素。因此,我面临的问题是如何修改字体大小,以便将文本保留在框中

--

现在,因为我将宽度设置为面板的大小,所以我看不到任何明显的循环方式来根据允许的最大宽度设置字体大小

我相信这一切都是有意义的,我欢迎任何修改,以使代码更有效,因为我对AS3和Flash相对较新,因此仍在学习过程中

问候,,
Jon.

我遇到了这个问题,通过循环文本设置直到合适为止,解决了这个问题

类似这样的东西

while (tf.textwidth > button.width){
   myTextFormat.size = myTextFormat.size - 1;
   tf.setTextFormat(myTextFormat);
   tf.autoSize = "left";
}

@请-哈!我错过了最重要的部分,谢谢你的更正