Picture.as檔案
package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.*;
import flash.utils.*;//執行時間間隔的
import flash.net.*;
import flash.system.System;
public class Picture extends MovieClip {
private var tempMC:mc;
private var movetime:Timer;
private var picArray:Array;//裝載多個影片剪輯的
private var imgArray:Array;//裝載多個loader 對象
private var list:Array;
private var myxml:XML;
private var mylist:XMLList;
private var ld:Loader;
private var _loader:URLLoader;
private var myurl:URLRequest;
public function Picture() {
System.useCodePage=true;
picArray=new Array();
imgArray=new Array();
list=new Array();
myxml=new XML();
myxml.ignoreWhite = true;
_loader=new URLLoader();
_loader.load(new URLRequest("menu.XML"));
_loader.addEventListener(Event.COMPLETE,loading);
for (var i:int=0; i<7; i++) {
tempMC = new mc();
picArray.push(tempMC);
addChild(picArray[i]);
picArray[i].x=i*picArray[i].width;
}
movetime=new Timer(80);
movetime.addEventListener(TimerEvent.TIMER,picmove);
movetime.start();
}
private function picmove(event:TimerEvent):void {
for (var t:int=0; t<7; t++) {
picArray[t].x-=5;
if (picArray[t].x<-88) {
picArray[t].x=6*88;
}
}
}
private function loading(evt:Event):void {
myxml=XML(_loader.data);
mylist=myxml.children();
trace( mylist);
for (var j:int=0; j<mylist.length(); j++) {
list[j]=mylist.attribute("url")[j];
trace(list[j]);
ld=new Loader();//載入圖片用
imgArray.push(ld);//管理多個loader 對象
imgArray[j].load(new URLRequest(list[j]));
picArray[j].addChild(imgArray[j]);
}
}
}
}
xml檔案:
<?xml version="1.0" encoding="gb2312"?>
<item>
<menuname url="photo/1.jpg"/>
<menuname url="photo/2.jpg"/>
<menuname url="photo/3.jpg"/>
<menuname url="photo/4.jpg"/>
<menuname url="photo/5.jpg"/>
<menuname url="photo/6.jpg"/>
<menuname url="photo/7.jpg"/>
</item>
基本設定:
圖片大小:88x105(裝載為photo檔案夾裡面)
情境:528x105
情境第一幀代碼:
var p:Picture=new Picture();
addChild(p);
這次的代碼用類的寫法改變在時間軸上書寫代碼,但其實都是差不多。為了使每一個影片剪輯可以裝載多個圖片這時候 這裡使用了 數組list 裝載多了loader 對象 ,方便處理。製作這個圖片運動,它需要我們知道的知識包括:如何載入外部的xml檔案,知道如何去用new 複製多個影片剪輯,同樣要知道 addChild 使用的用法。
過去我們習慣用一個影片剪輯作為被載入對象的容器,現在同樣的方法我們使用的手段是一樣的。這個技巧需要我們知道一下。 以上的代碼可以實現圖片運動,以及載入多張圖片是怎樣載入的。都是菜鳥的寫法。寫得不好
望能見諒,反正自己的筆記來 。