flash as TextField设置不同字体和颜色方法总结
有时候,我们想对TextField中设置不同的字体和颜色,应该怎么办呢?其实,利用htmlText就可以轻松做到:
代码如下 |
复制代码 |
var tmp_text:TextField=new TextField();
tmp_text.width=300;
tmp_text.htmlText="<font face='Arial Black'>Formatted text</font><font face='Verdana'>Formatted text</font>";
addChild(tmp_text); |
提示:采用这种方法就不能开始制定TextField的字体,也不能使用TextFormat去设置字体啦,否则就失效了
如何在同一个TextField中设置不同的字体样式
例
代码如下 |
复制代码 |
var mytext:TextField=new TextField();
mytext.border = true;
mytext.width = 150;
mytext.height = 30;
mytext.text = "赤橙黄绿青蓝紫";
addChild(mytext);
function getTF(n:uint):TextFormat
{
var colorarr:Array = [0xff0000,0xff3300,0xffff00,0x00ff00,0x003300,0x0000ff,0xff00ff];
var mytf:TextFormat=new TextFormat();
mytf.size = 20;
mytf.color = colorarr[n];
mytf.font="黑体";
return mytf;
}
for (var i:uint=0; i<mytext.length; i++)
{
mytext.setTextFormat(getTF(i),i,i+1);
}
|
例
1.
代码如下 |
复制代码 |
Font.registerFont(Arial);//这句是将Arial字体注册到全局,如果你只在本文件中使用字体就不用写,
var fontlist= Font.enumerateFonts();//获得字体数组
var tf:TextFormat = new TextFormat();
tf.font = fontlist[0].fontName; //这里的下标就是你选的字体,可以先trace一下fontlist,看看具体要哪个字体再说
var t:Text;
t.embedFonts = true; //这个是将字体嵌入swf,可以不选
t.text = ‘asdas dasdas’;
t.setTextFormat(tf);
|
2.
代码如下 |
复制代码 |
var fontlist= Font.enumerateFonts();
var css:StyleSheet = new StyleSheet();
css.setStyle(’.font’,{fontFamily:fontlist[1].fontName});
t1.embedFonts = true;
t1.styleSheet = css;
t1.htmlText = ‘<p class=”font”>asdas dasdas</p>’;
|
补充:flash教程,As3.0