开发环境:FlashDevelop
步骤:
1.新建一个as3工程:LoadPng
目录:E:/ActionScript/LoadPng
2.在工程下新建一个Image文件夹,向其中添加一张xxx.png图片
目录:E:/ActionScript/LoadPng/image/xxx.png
3.在Main.as中敲入如下代码:
package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;
public class Main extends Sprite
{
private var mLoader:Loader; //只能加载swf、图片(jpg、png、gif)
public function Main():void
{
mLoader = new Loader;
addChild(mLoader);
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, OnLoaded);
mLoader.load(new URLRequest("../image/ChaKan.png"));
}
//加载图片完成
private function OnLoaded(e:Event):void
{
//移除事件
mLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, OnLoaded);
}
}
}
注意1:Embed与Loader的区别
Embed是将图片编译到swf里面了
Loader是动态加载图片,不在生成的swf里面
注意2:相对路径的写法
这里是动态加载,所以,基础目录为生成swf所在的目录,也就是bin目录
第一步:../使路径从bin目录返回到LoadPng目录
第二步:../image/定位到LoadPng文件夹的image文件夹下,然后找到对应的图片文件
注意3:使用Loader来加载数据添加侦听事件时,是给Loader的contentLoaderInfo属性添加事件,
而不是给Loader对象增加事件。