- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
FLASH?AS?外部加载图片?AS2.0?AS3.0(转自 站酷网)
?AS2.0?中有 MovieClip 和全局中有 loadMovie 函数可以动态加载图片,
但是这不是异步加载,而且没法 知道图片大小。
在?AS3.0 中,有 Loader 类来实现从外部载入 swf 和各种图片。
效果如下,载入的过程中会有进度条提示,载入完成过后可以根据图片的尺寸进行缩放,按比例的缩小放 在 400×300 的方框中,居中显示?AS?代码
progress.visible = false;
btnSubmit.addEventListener(MouseEvent.CLICK,btnSubmitClickHandler );
function btnSubmitClickHandler(e:MouseEvent) { loadPicture(ddlUrl.value); }
var loader:Loader;
function loadPicture(url:String) {
if(loader == null){
loader = new Loader();
}
else{loader.unload();
txtAlert.text = ;
}
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,comp
leteHd);
loader.contentLoaderInfo.addEventListener(ioError,errorHd);
var request:URLRequest = new URLRequest(url);
var context:LoaderContext = new LoaderContext(true);
loader.load(request,context);
progress.visible = true;
}
var maxHeight:int = container.height;
var maxWidth:int = container.width;
function completeHd(e:Event) {
txtAlert.text = * Load success!;
var pic:Bitmap = loader.content?as?Bitmap;
pic.smoothing = true;
var currentWidth:int = loader.width;
var currentHeight:int = loader.height;
if(currentWidth maxWidth){
currentWidth = maxWidth;
currentHeight = currentWidth/loader.width * loader.height;
} if(currentHeight maxHeight){ currentHeight = maxHeight;
currentWidth = currentHeight/loader.height * loader.width;
} loader.content.width = currentWidth;
loader.content.height = currentHeight;
loader.x = (maxWidth - currentWidth)/2;
loader.y = (maxHeight - currentHeight)/2;
container.addChild(loader); progress.visible = false;
}
function errorHd(e:Event){
progress.visible = false;
txtAlert.text = * Url is invalid, Please try again for anoth er url!;
}
关键在于对 Loader 类的使用,Loader 具有 contentLoaderInfo 属性,此属性是一个 LoaderInfo 类的 实例,
用来控制加载外部资源的进度,
因此就可以在 contentLoaderInfo 上注册各种事件,
这里只用了 Complete 事件,用于加载完成时调用。
Loader 还具有 content 属性,Loader 实例本身就是一个可视对象,
content 也是一个可视对象,如果加 载的地址是一个图片的话,
content 是一个 Bitmap 对象,所以可以通过转型来使得载入的图片在缩小的 时候消除
文档评论(0)