//載入圖檔
public function loadClassBgPic():void
{
//載入圖檔沒有完畢
bloadBgOver = false;
//從xml資料中讀取并計算總的下載下傳量
bmpUrlArr.push(classXml["class"]["pad"]["background"]);
bmpUrlArr.push(classXml["class"]["title"]["background"]);
for(var i:uint = 0; i < classXml["class"]["page"][email protected]; i++)
{
bmpUrlArr.push(classXml["class"]["page"]["content"][i]["background"]);
}
itotalBmpCount = bmpUrlArr.length;
iloadedBmpCount = 0;
//載入第一個圖檔
loadBgPic(bmpUrlArr[iloadedBmpCount]);
}
public function loadBgPic(myURL:String):void
{
var rd:int = Math.random()*9999;
//var myURL:String="http://192.168.1.104/flashdialog/flash/fast.jpg";//?"+rd;
var myRequest:URLRequest = new URLRequest(myURL);
var myLoader:Loader = new Loader();
var myVariables:URLVariables = new URLVariables();
myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,loadBgPicProgress);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadBgPicOK);
myLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadBgPicError);
myRequest.method = URLRequestMethod.POST;
myLoader.load(myRequest);
//trace("start load");
}
public function loadBgPicProgress(e:ProgressEvent):void
{
var iloaded:uint = e.bytesLoaded;
var itotal:uint = e.bytesTotal;
text_progress.text = "正在載入圖檔資料..."+iloaded+" / "+itotal;
}
public function loadBgPicOK(e:Event):void
{
var mload:Loader = Loader(e.target.loader);
var bmp:Bitmap = e.target.content as Bitmap;
//mc_bg.addBmp(bmp);
//mc_bg.mc_content.addChild(bmp);
bmp.width = 800;
bmp.height = 600;
mload.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,loadBgPicProgress);
mload.contentLoaderInfo.removeEventListener(Event.COMPLETE,loadBgPicOK);
//圖檔載入完畢,存儲到MC數組中
bmpArr[iloadedBmpCount] = new MovieClip();
bmpArr[iloadedBmpCount].addChild(bmp);
//将該圖檔mc設定到背景裡面去
mc_bg.addChild(bmpArr[iloadedBmpCount]);
bmpArr[iloadedBmpCount].visible = false;
iloadedBmpCount++;
if(iloadedBmpCount < itotalBmpCount)
{
//載入下一個圖檔
loadBgPic(bmpUrlArr[iloadedBmpCount]);
}else
{
iloadedBmpCount = 0;
bloadBgOver = true;
}
showClassBgOver();
}
public function loadBgPicError(e:IOErrorEvent):void
{
//圖檔載入失敗,建立空mc
bmpArr[iloadedBmpCount] = new MovieClip();
//将該圖檔mc設定到背景裡面去
mc_bg.addChild(bmpArr[iloadedBmpCount]);
bmpArr[iloadedBmpCount].visible = false;
var txt:TextField = new TextField();
txt.text = "該圖檔載入失敗";
bmpArr[iloadedBmpCount].addChild(txt);
iloadedBmpCount++;
//載入下一個圖檔
if(iloadedBmpCount < itotalBmpCount)
{
//載入下一個圖檔
loadBgPic(bmpUrlArr[iloadedBmpCount]);
}else
{
iloadedBmpCount = 0;
bloadBgOver = true;
}
showClassBgOver();
}
//載入背景圖檔完畢,根據目前所處狀态切換顯示不同背景
public function showClassBgOver():void
{
for(var j:uint = 0; j < bmpArr.length; j++)
{
bmpArr[j].visible = false;
}
switch(gameState)
{
case "classPad":
//題目面闆
bmpArr[0].visible = true;
break;
case "inclass":
//題目主題界面
bmpArr[1].visible = true;
break;
case "classpage":
//課程頁面,根據目前不同頁号顯示不同背景
var temp:uint = ipage + 2;
bmpArr[temp].visible = true;
break;
}
}
以上!