我现在对AS3非常沮丧。似乎必须存在严重的问题,如何在影片剪辑中扩展内容。从舞台上看,一切似乎都很好。
在我的一个项目中,我尝试将textfield.width设置为等于其容器(movieclip) tf.width = mc.width;当然它说一切都是均匀的但是当我看到文本区域的边界时,它远远不及它所包含的影片剪辑的大小。
虽然尝试制作一个小得多的样本与你们分享帮助,但这部分有用,但尝试调整文本大小的做法完全不同。任何人都可以帮我理解这一切吗?下面的代码看似随机地开始改变一切的大小。
此外,我试图从此处遵循此代码,但在尝试更改while循环中的格式大小时却一直出现错误:Autosize text to fit the width of a button
var square:MovieClip = new MovieClip();
addChild(square);
square.graphics.lineStyle(3,0x00ff00);
square.graphics.beginFill(0x0000FF);
square.graphics.drawRect(0,0,100,100);
square.graphics.endFill();
square.x = 0;
square.y = 0;
square.width = 200;
square.height = 200;
var tffSize = 400;
var tffOr:TextFormat = new TextFormat();
tffOr.size = tffSize;
tffOr.align = TextFormatAlign.CENTER;
var tf:TextField = new TextField();
square.addChild(tf);
tf.defaultTextFormat = tffOr;
tf.text = "Hello";
tf.border = true;
tf.width = square.width;
tf.height = square.height;
trace(tf.textWidth);
trace(square.width);
while (tf.textWidth > square.width || tf.textHeight > square.height)
{
trace("too Big");
newTFF();
trace(tf.textWidth + " vs " + square.width);
square.width = 200;
trace(tf.textWidth + " vs " + square.width);
}
function newTFF()
{
tffSize = tffSize - 1;
var tff:TextFormat = new TextFormat();
tff.size = tffSize;
tff.align = TextFormatAlign.CENTER;
//tf.defaultTextFormat = tff;
tf.setTextFormat(tff);
tf.autoSize = "left";
}