如何用Flash as3.0加载一个文件夹里面的图片,使其在测试时在舞台上排列,并且是其按图片的命名顺序排列
package{//导入必要的类importflash.display.Sprite;//基类importflash.events.Event;//需要使用Event.C...
package{
//导入必要的类
import flash.display.Sprite; //基类
import flash.events.Event; //需要使用Event.COMPLETE事件
import flash.display.Loader; //需要导入图片
import flash.net.URLRequest; //load()方法的参数需要此类
//定义类,以Sprite为基类,作为一个容器
public class loadPic extends Sprite{
//定义属性
private var left:uint; //记录当前导入图片待显示的x位置
private var top:uint; //导入图片显示时的最高位置
private var maxWidth:uint; //可容纳图片显示的最大宽度
//构造函数,导入8幅图片
public function loadPic(max:uint){
//显示的最大宽度由创建对象时传入
maxWidth=max;
//导入操作
for(var i:uint=1;i<=8;i++){
var myLoad:Loader=new Loader();
var path:String="pic\\pic"+i+".jpg";
var url:URLRequest=new URLRequest();
//在contentLoaderInfo对象上侦听Event.COMPLETE事件
myLoad.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHd);
myLoad.load(url); //实际导入操作
}
}
//Event.COMPLETE事件处理函数,只有导入完成才能显示图片
private function completeHd(e:Event){
//计算余下空间是否能容纳当前图片
if(left+e.target.width > maxWidth){
left=0; //从0开始排列
top+=e.target.height+20; //另起一行
}
//定位myLoad对象,其中包含图片 (e.target.loader==myLoad)
e.target.loader.y=top;
e.target.loader.x=left;
//也可以用下面两句实现同样效果:直接定位图片
//e.target.content.y=top;
//e.target.content.x=left;
//计算下一图片的显示位置
left+=e.target.width;
//显示myLoad对象(中的图片)
addChild(e.target.loader);
}
}
} 展开
//导入必要的类
import flash.display.Sprite; //基类
import flash.events.Event; //需要使用Event.COMPLETE事件
import flash.display.Loader; //需要导入图片
import flash.net.URLRequest; //load()方法的参数需要此类
//定义类,以Sprite为基类,作为一个容器
public class loadPic extends Sprite{
//定义属性
private var left:uint; //记录当前导入图片待显示的x位置
private var top:uint; //导入图片显示时的最高位置
private var maxWidth:uint; //可容纳图片显示的最大宽度
//构造函数,导入8幅图片
public function loadPic(max:uint){
//显示的最大宽度由创建对象时传入
maxWidth=max;
//导入操作
for(var i:uint=1;i<=8;i++){
var myLoad:Loader=new Loader();
var path:String="pic\\pic"+i+".jpg";
var url:URLRequest=new URLRequest();
//在contentLoaderInfo对象上侦听Event.COMPLETE事件
myLoad.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHd);
myLoad.load(url); //实际导入操作
}
}
//Event.COMPLETE事件处理函数,只有导入完成才能显示图片
private function completeHd(e:Event){
//计算余下空间是否能容纳当前图片
if(left+e.target.width > maxWidth){
left=0; //从0开始排列
top+=e.target.height+20; //另起一行
}
//定位myLoad对象,其中包含图片 (e.target.loader==myLoad)
e.target.loader.y=top;
e.target.loader.x=left;
//也可以用下面两句实现同样效果:直接定位图片
//e.target.content.y=top;
//e.target.content.x=left;
//计算下一图片的显示位置
left+=e.target.width;
//显示myLoad对象(中的图片)
addChild(e.target.loader);
}
}
} 展开
1个回答
展开全部
是已经知道这些图片的名还是要用FLASH自己读取?后者的话要用到AIR的方法了。
更多追问追答
追问
就是我有一个文件夹里面的图片有8张,分别以1.JPG,2.JPG以此类推来命名,那这样的话,文件夹里面的图片就是按1,2,。。。等排列的,就是想用flash代码加载这些图片,使它按照文件夹里面的图片的顺序排列
追答
哦,那应该没有问题啊,把加载的图片放到一个数组里,或者加载的时候就按顺序加载,然后放到舞台上就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询