通過這個例子可以學習:
1>如何載入與解析XML;
2>如何用TextField.StyleSheet格式化文本
先看下XML的結構:
<?xml version="1.0" encoding="UTF-8"?>
<csdeny>
<news date="2006-12-22" title="中國繭子"><content>設計網站,羽化成蝶·美麗如你</content></news>
<news date="2006-12-22" title="CCTV"><content>中國中央電視台</content></news>
<news date="2006-12-22" title="QQ"><content>QQ聊天工具</content></news>
<news date="2006-12-22" title="SOHU"><content>我的搜狐部落格</content></news>
<news date="2006-12-22" title="盛世龍騰"><content>河南盛世龍騰電子科技有限公司</content></news>
<news date="2006-12-22" title="MYBJOJO"><content>MYBJOJO的個人網站</content></news>
<news date="2006-12-22" title="尋泥作坊"><content>我一個同事的網站</content></news>
</csdeny>
下面 就是在flash中的工作了:
1>建立flash文檔,設定舞台大小(我的設定是150*200)
2>拖一個TextArea組件放入舞台,設定大小和舞台大小一致,執行個體名為mytextarea;
3>給第一幀添加代碼:
var myStyles:TextField.StyleSheet=new TextField.StyleSheet();//申明myStyles為StyleSheet類
myStyles.setStyle(".title", //設定標題顯示樣式
{fontFamily: ’宋體,_sans’,
fontSize: ’12px’,
color: ’#003300’,
textAlign: ’left’});
myStyles.setStyle(".date", //設定時間顯示樣式
{fontFamily: ’Arial’,
fontSize: ’9px’,
color: ’#990000’,
textAlign: ’right’});
myStyles.setStyle(".content", //設定內容顯示樣式
{fontFamily: ’宋體,_sans’,
fontSize: ’12px’,
color: ’#003300’,
textAlign: ’left’});
var newsXML:XML=new XML(); //申明XML類
newsXML.ignoreWhite=true; //忽略空白
newsXML.onLoad=function(success){
if(success){
parseXML(); //如過載入XML成功,就調用parseXML()解析XML
}
}
newsXML.load("news.xml"); //載入外部XML
function parseXML(){ //parseXML()的定義
var e=newsXML.firstChild.childNodes;
var total=e.length;
mytextarea.wordWrap=true; //設定TextArea可以自動換行
mytextarea.editable=false; //TextArea不可編輯
mytextarea.hScrollPolicy=off; //TextArea橫向捲軸關閉
mytextarea.html=true; //支援XML
mytextarea.styleSheet=myStyles; //調用前面設定好的樣式
for(i=0;i<total;i++){ //解析XML並格式化文本
mytextarea.text+="<.title>"+e.attributes.title+"</.title>";
mytextarea.text+="<.date>"+e.attributes.date+"</.date>";
mytextarea.text+="<.content>"+e.firstChild.firstChild.nodeValue+"</.content><br>";
}
}
好了,很簡單吧
可以對myStyles擴充,flash支援的html標籤還有不少