(14)解析完XML文件,將其打印出來。
AS3代碼
/*XML文件獲取轉化*/ private function loadComplete(event:Event):void { XML.ignoreWhitespace = true; var str:String=event.target.data; str=str.slice(0,str.lastIndexOf(">")+1); getXML = new XML(str); allPage =Number(getXML.@total) if (allPage % 10==0) { allPage=int(allPage/10) }else { allPage=int(allPage/10)+1 } controlBar.showTxt.text="當前第"+thenPage+"頁 總共"+allPage+"頁" printItem(); } /*打印留言列表*/ private function printItem():void { msgBox.visible = false; writeBox.visible = false; writeBox.inputBox.visible=true; writeBox.sendDia.visible=false; var setY=0; if (itemBox!=null) { removeChild(itemBox); } itemBox=new Sprite; itemBox.x=50; itemBox.y=50; addChild(itemBox); for (var i:uint; i<getXML.child("*").length(); i++) { item=new Item(); item.y=setY; setY+=23; item.title.text=getXML.child(i).@title; item.date.text=getXML.child(i).@date; item.id=i; itemBox.addChild(item); } } |
技術看板:AS代碼解釋
第49~51行,如果itemBox已經有了,先移除。
第52行,itemBox用來放置所有item顯示條。
第60行,讀取XML中的“title”屬性即留言標題。
第61行,讀取XML中的“date”屬性即留言日期。
(15)先測試下如圖14-6 所示。
圖14-6 XML列表轉化測試
(16)接著往下做,制作控制框“ControlBar”,繪制翻頁用的按鈕和顯示頁數信息的框,各命名如圖14-7 所示。
圖14-7 代碼
(17)翻頁代碼。
AS3代碼
/*XML文件獲取轉化*/ private function loadComplete(event:Event):void { XML.ignoreWhitespace = true; var str:String=event.target.data; str=str.slice(0,str.lastIndexOf(">")+1); getXML = new XML(str); allPage =Number(getXML.@total) if (allPage % 10==0) { allPage=int(allPage/10) }else { allPage=int(allPage/10)+1 } controlBar.showTxt.text="當前第"+thenPage+"頁 總共"+allPage+"頁" printItem(); } private function prevPageFun(event:MouseEvent):void { if (thenPage > 1) { loadPage(thenPage-1) } } private function nextPageFun(event:MouseEvent):void { if (thenPage < allPage) { loadPage(thenPage+1) } } |
技術看板:AS代碼解釋
第65行,顯示當前頁和總頁數信息。
第68~71行,上翻一頁。
第73~77行,下翻一頁。
(18)點擊留言列表后,顯示詳細信息,制作信息顯示框“msgBox”如圖14- 8 所示。
圖14- 8 信息顯示框
(19)顯示詳細數據。
AS3代碼
/*顯視留言內容*/ private function showMsgFun(id:Number):void { removeChild(itemBox); itemBox=null; msgBox.visible = true; msgBox.showName.text = getXML.child(id).@name; msgBox.qq.text = getXML.child(id).@qq; msgBox.title.text = getXML.child(id).@title; msgBox.msg.htmlText = getXML.child(id).@msg; } |
(20)測試下如圖14-9 所示。
圖14- 9測試