2011年8月16日

[AS3.0] 用程式設定文字的粗體/斜體/底線/項目等符號

明明在原SWF的設計就是粗體
但在更換內容(text)後,就會被打回原型!弄了好久,終於搞懂
例如我有個倒數五秒的畫面,每過一秒裡頭的文字就-1
//以下為設定字體為粗體的寫法
import flash.text.TextFormat;


var tf:TextFormat = new TextFormat();
tf.bold = true;
test_mc.sec_txt.setTextFormat(tf);

test_mc.sec_txt.text = 5;//這個5顯示出來並非是粗體
..................


原來!順序很重要!當sec_txt在被更換內容後,就不是原來的它了
所以只要改成

test_mc.sec_txt.text = 5;
test_mc.sec_txt.setTextFormat(tf);

就醬~

其它的設定:
tf.bold = true;粗體
tf.italic = true;斜體
tf.underline = true;底線
tf.bullet = true;項目符號

加入超連結
tf.url = "http://dorothycode.blogspot.com/";
tf.target = "_brank";

tf.font = "Arial";字體
tf.size = 32;大小
tf.color = 0xFF0000;顏色

setTextFormat & new TextFormat
setTextFormat除了一般用法把"格式"代入外
還可以txt.setTextFormat(tf, 0, 10);
這意指txt內從0索引開始的10個字會使用此格式


new TextFormat()
當我們new一個格式資訊時,可以直接就給予設定
new TextFormat(字體, 大小, 顏色, 粗體, 斜體, 底線, URL, 目標, 對齊, 左邊界, 右邊界, 縮排, 行距)
例如我們依照上例想要設定粗體字時
var tf:TextFormat = new TextFormat(null, null, null, true);
至於設null的會使用系統的預設設定~好用捏!