我网站上的flash都实现了cat风格的loading后,虽然只是个小东西,但有朋友觉得不错,要求分享,所以我要有求“必应”嘛!
先说说loading中的两只小猫吧,那是从同事的作品中抢来的,是为“土豆树”项目制作的素材,两只黑色的瘦猫,当然非我莫属了。拿人动画,当然要替人宣传了,作者是seven。
这个loading会根据自己src中的参数获得需要加载进来的flash地址
src="/wp-content/uploads/catflyLD2.swf?swf=/wp-content/uploads/2010/01/LinkVideo2.swf"
下划线的部分就是被加载的flash的地址。在as中通过如下方法来获取src中的变量值:
var paramObj:Object=LoaderInfo(root.loaderInfo).parameters;
//----
if (paramObj["swf"]) {
initSwf();
} else {
alertErr();
}
//----
function initSwf():void {
var swfUrl:String=paramObj["swf"];
//var swfUrl:String="football.swf";
loader.load(new URLRequest(swfUrl));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
根据要加载的flash的尺寸自动更改loading动画的比例并居中显示
首先说明,我所有的loading中的背景与动画效果包括文本都在一个叫“loadMc”的影片剪辑中。
//为了保证正常变形,先指定舞台对齐方式与缩放模式
stage.align=StageAlign.TOP_LEFT;
stage.scaleMode=StageScaleMode.NO_SCALE;
//应用山寨版changesize方法(下面的方法很原始,学过数学的人都看得明白)
changesize(loadMc,loadMc.width,loadMc.height);
function changesize(mc:Sprite, w:uint, h:uint):void {
if (w/h>stage.stageWidth/stage.stageHeight) {
mc.width=stage.stageWidth;
mc.height = stage.stageWidth/(w/h);
} else if (w/h bigPicWidth/bigPicHeight) {
mc.scaleX=mc.scaleY=bigPicWidth/mc.width;
} else if (w/h