2015-08-03 216 views
0

因为它读取我想在舞台大小变化时更改字体大小。as3更改字体大小随着舞台大小的变化

我有私人变种myFormat:TextFormat = new TextFormat();

然后当对象被提出,写入下列

 _buttonText.wordWrap = true; 

     myFormat.size = 15; 
     myFormat.align = TextFormatAlign.CENTER; 
     _buttonText.textColor = 0x222428; 
     myFormat.bold = 'true'; 
     _buttonText.defaultTextFormat = myFormat;  
     _buttonText.text = text; 

然后在我的输入框我要调整大小的文本,我已经尝试了几件事情,但似乎没有任何工作,目前它看起来喜欢这个。

 myFormat.size = stage.stageWidth/136.53; 

感谢所有帮助

回答

1

的TextFormat对象有除非应用于文本字段没有影响。此外,如果字体大小应该链接到舞台大小,那么也应该使用某种因素大小。在结束它看起来像这样:

myFormat.size = 15 * fontSizeFactor; 
//_buttonText.defaultTextFormat = myFormat;this is irrelevant if size should be dynamic. 
//instead text should be set then TextFormat should be set again. 
_buttonText.text = text; 
_buttonText.setTextFormat(myFormat);//this is dynamic 

现在输入框:在文本住按钮移动文本不会停留在按钮内部时

myFormat.size = 15 * fontSizeFactor; 
_buttonText.setTextFormat(myFormat);//apply the format again or else nothing will happen 
+0

感谢那些真正帮助,现在,任何想法如何解决这个问题? 我试图 sp.removechild sp.addchild 但它从来没有帮助的问题 –

+0

TextField的增长或收缩取决于字体大小,它甚至可以根据TextFieldAutoSize财产移动。您必须根据其大小的变化,通过代码重置其位置。 – BotMaster

+0

我写过 _buttonText.autoSize = TextFieldAutoSize.CENTER; 但是,如果按钮向左移动并变小,文本将在按钮外面结束。 至少字体大小现在正在改变 –