当前位置:软件学习 > Flash >>

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,