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 使用的用法。
过去我们习惯用一个影片剪辑作为被加载对象的容器,现在同样的方法我们使用的手段是一样的。这个技巧需要我们知道一下。 以上的代码可以实现图片运动,以及加载多张图片是怎样加载的。都是菜鸟的写法。写得不好
望能见谅,反正自己的笔记来 。