纯AS动感LOADING,可以开启随机12种效果

loading|动感|随机

  //加载需要使用的类
import mx.transitions.Tween;
import mx.transitions.easing.*;
//初始化各项参数
var _this:MovieClip = this;//进度条总长度
var bar_width:Number = 200;//进度条总高度
var bar_height:Number = 15;//细柱进度个数
var barItemNum:Number = 25;
//细柱进度宽度
var Item_width:Number = bar_width/barItemNum;//细柱进度间隔像素
var Item_xInterval:Number = 2;//细柱进度编码
var Item_Index:Number = 1;//是否已经结束
var MotionEnd:Boolean=false;//正在下载的编码
var NowDownIndex:Number;//细柱进度颜色
var barColor:Number = 0xffff00;//初始化效果库
var inEffect_lib:Array = new Array("Effect_fadeRandomMoveIn", "Effect_fadeIn", "Effect_XDropIn", "Effect_YDropIn", 
"Effect_WindIn", "Effect_XElasticIn", "Effect_YElasticIn"); 
var outEffect_lib:Array = new Array("Effect_fadeRandomMoveOut", "Effect_fadeOut", "Effect_RandomXmove", 
"Effect_RandomYmove", "Effect_WindOut", "Effect_ElasticYOut");//是否开启效果
var OpenEffect:Boolean = true;//开始效果编号
var StartEffect:Number = 4;//结束效果编号
var EndEffect:Number = 4;//是否开启随机效果
var RandomEffect:Boolean = true;
if (RandomEffect) {
 var StartEffect:Number = random(inEffect_lib.length);
 var EndEffect:Number = random(outEffect_lib.length);
}//是否显示进度数字     
var ShowLoadNum:Boolean = true;
if (ShowLoadNum) {
 var TF_format:TextFormat = new TextFormat();
 TF_format.color = barColor;
 TF_format.align = "right";
 var progressNum:TextField = this.createTextField("progressNum", 2, -50, -2, 50, 20);
 progressNum.selectable = false;
}//是否开启背景     
var OpenBack:Boolean = true;//背景颜色
var BackColor:Number = 0x000000;
if (OpenBack) {
 var progress_back:MovieClip = this.createEmptyMovieClip("progress_back", 1);
 progress_back._x = -5;
 progress_back._y = -2.5;
 roundedRectangle(progress_back, bar_width+8, bar_height+5, 5, BackColor, 100);
 if (ShowLoadNum) {
  progress_back._x = -34;
  roundedRectangle(progress_back, bar_width+36, bar_height+5, 5, BackColor, 100);
 }
 if (OpenEffect) {
  var NewMC_tween:Object = new Tween(progress_back, "_xscale", Elastic.easeOut, 0, 100, 1, true);
 }
}//函数    
//创建进度条
function buildBar(loadedBytes, totalBytes) {
 NowDownIndex = Math.round((loadedBytes/totalBytes)*barItemNum)+1;
 progressNum.text = Math.round((loadedBytes/totalBytes)*100)+"%";
 progressNum.setTextFormat(TF_format);
 if (Item_Index<1) {
  Item_Index = 1;
 }
 if (NowDownIndex>Item_Index) {
  for (var i:Number = Item_Index; i<NowDownIndex; i++) {
   var NewMC:MovieClip = this.createEmptyMovieClip("rect_"+i, 100+i);
   NewMC._x = (i-1)*Item_width;
   roundedRectangle(NewMC, Item_width-Item_xInterval, bar_height, 4, barColor, 100);
  }
  if (OpenEffect) {
   this[inEffect_lib[StartEffect]]();
   onAllMoved();
  }
 }
}//定义结束触发函数
var finnishFuc:Number;
function onLoadFinnished() {
 finnishFuc = setInterval(_this, "onAllOver", 50);
}//结束效果完成后函数
//Back,Bounce,Elastic,None,Regular,Strong
function onAllOver() {
 this[outEffect_lib[EndEffect]]();
 Item_Index--;
 if (Item_Index<1) {
  progressNum.removeTextField();
  var NewMC_tween:Object = new Tween(progress_back, "_xscale", Elastic.easeInOut, 100, 0, 1.5, true);
  setInterval(clearAll, 10);
  MotionEnd=true;
 }
}//删除所有Interval
function clearAll(Void):Void {
 var tmpId:Number = setInterval(function () {
 }, 10);
 while (--tmpId>0) {
  clearInterval(tmpId);
 }
}//loading结束后函数
function onAllMoved() {
 Item_Index = NowDownIndex;
 if (Item_Index>=barItemNum) {
  NewMC_tween.onMotionFinished = function() {
   onLoadFinnished();
  };
 }
}//================================================
var NewMC_tween:Object;
//退出效果
function Effect_fadeRandomMoveOut() {
 var NewMC:MovieClip = this["rect_"+Item_Index];
 NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeIn, 100, 0, 1, true);
 NewMC_tween = new Tween(NewMC, "_x", Strong.easeIn, NewMC._x, random(Stage.width)-this._x, 1, true);
 NewMC_tween = new Tween(NewMC, "_y", Strong.easeIn, NewMC._y, random(Stage.height)-this._y, 1, true);
}
function Effect_fadeOut() {
 var NewMC:MovieClip = this["rect_"+Item_Index];
 NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeIn, 100, 0, 1, true);
}
function Effect_RandomXmove() {
 var NewMC:MovieClip = this["rect_"+Item_Index];
 NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeIn, 100, 0, 1, true);
 NewMC_tween = new Tween(NewMC, "_x", Strong.easeIn, NewMC._x, random(Stage.width)-this._x, 1, true);
}
function Effect_RandomYmove() {
 var NewMC:MovieClip = this["rect_"+Item_Index];
 NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeIn, 100, 0, 1, true);
 NewMC_tween = new Tween(NewMC, "_y", Strong.easeIn, NewMC._y, random(Stage.height)-this._y, 1, true);
}
function Effect_WindOut() {
 var NewMC:MovieClip = this["rect_"+Item_Index];
 NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeIn, 100, 0, 1, true);
 NewMC_tween = new Tween(NewMC, "_x", Strong.easeIn, NewMC._x, NewMC._x-100, 1, true);
 NewMC_tween = new Tween(NewMC, "_y", Strong.easeIn, NewMC._y, NewMC._y-50, 1, true);
}
function Effect_ElasticYOut() {
 var NewMC:MovieClip = this["rect_"+Item_Index];
 NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeIn, 100, 0, 1, true);
 NewMC_tween = new Tween(NewMC, "_y", Elastic.easeIn, NewMC._y, random(Stage.height)-this._y, 1, true);
}//进入效果
function Effect_fadeRandomMoveIn() {
 for (var i:Number = Item_Index; i<=NowDownIndex; i++) {
  var NewMC:MovieClip = this["rect_"+i];
  NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeOut, 0, 100, 1, true);
  NewMC_tween = new Tween(NewMC, "_x", Strong.easeOut, random(Stage.width)-this._x, (i-1)*Item_width, 1, true);
  NewMC_tween = new Tween(NewMC, "_y", Strong.easeOut, random(Stage.height)-this._y, 0, 1, true);
 }
}
function Effect_fadeIn() {
 for (var i:Number = Item_Index; i<=NowDownIndex; i++) {
  var NewMC:MovieClip = this["rect_"+i];
  NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeIn, 0, 100, 0.5, true);
 }
}
function Effect_XDropIn() {
 for (var i:Number = Item_Index; i<=NowDownIndex; i++) {
  var NewMC:MovieClip = this["rect_"+i];
  NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeOut, 0, 100, 1, true);
  NewMC_tween = new Tween(NewMC, "_x", Bounce.easeOut, NewMC._x+200, NewMC._x, 1, true);
 }
}
function Effect_YDropIn() {
 for (var i:Number = Item_Index; i<=NowDownIndex; i++) {
  var NewMC:MovieClip = this["rect_"+i];
  NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeOut, 0, 100, 1, true);
  NewMC_tween = new Tween(NewMC, "_y", Bounce.easeOut, -100, 0, 1, true);
 }
}
function Effect_WindIn() {
 for (var i:Number = Item_Index; i<=NowDownIndex; i++) {
  var NewMC:MovieClip = this["rect_"+i];
  NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeOut, 0, 100, 1, true);
  NewMC_tween = new Tween(NewMC, "_x", Strong.easeOut, NewMC._x-100, NewMC._x, 1, true);
  NewMC_tween = new Tween(NewMC, "_y", Strong.easeOut, NewMC._y-50, NewMC._y, 1, true);
 }
}
function Effect_XElasticIn() {
 for (var i:Number = Item_Index; i<=NowDownIndex; i++) {
  var NewMC:MovieClip = this["rect_"+i];
  NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeOut, 0, 100, 1, true);
  NewMC_tween = new Tween(NewMC, "_x", Elastic.easeOut, 100, NewMC._x, 1, true);
 }
}
function Effect_YElasticIn() {
 for (var i:Number = Item_Index; i<=NowDownIndex; i++) {
  var NewMC:MovieClip = this["rect_"+i];
  NewMC_tween = new Tween(NewMC, "_alpha", Strong.easeOut, 0, 100, 1, true);
  NewMC_tween = new Tween(NewMC, "_y", Elastic.easeOut, -100, 0, 1, true);
 }
}//=============================================
//画圆角矩形
function roundedRectangle(target_mc:MovieClip, boxWidth:Number, boxHeight:Number, 
cornerRadius:Number, fillColor:Number, fillAlpha:Number):Void { 
 with (target_mc) { 
  clear(); 
  beginFill(fillColor, fillAlpha); 
  moveTo(cornerRadius, 0); 
  lineTo(boxWidth-cornerRadius, 0); 
  curveTo(boxWidth, 0, boxWidth, cornerRadius); 
  lineTo(boxWidth, cornerRadius); 
  lineTo(boxWidth, boxHeight-cornerRadius); 
  curveTo(boxWidth, boxHeight, boxWidth-cornerRadius, boxHeight); 
  lineTo(boxWidth-cornerRadius, boxHeight); 
  lineTo(cornerRadius, boxHeight); 
  curveTo(0, boxHeight, 0, boxHeight-cornerRadius); 
  lineTo(0, boxHeight-cornerRadius); 
  lineTo(0, cornerRadius); 
  curveTo(0, 0, cornerRadius, 0); 
  lineTo(cornerRadius, 0); 
  endFill(); 
 } 
}

时间: 2025-01-26 13:20:52

纯AS动感LOADING,可以开启随机12种效果的相关文章

纯AS的Loading效果四例

loading 前言:稍微大一些的Flash作品在播放之前都会有一个Loading预载画面,这考虑到网络的速度,本地浏览不需要等待下载,但传到网上,因为每个用户的网速不同,所以很有必要在我们的作品中加入Loading画面,之前,已经有很多教程是关于Loading制作方法的,今天我们给读者讲述四个纯AS的Loading效果,不懂AS的菜鸟或"代码盲"甚至可以直接复制教程中的代码到自己的作品中,懂AS代码的朋友,可以仔细阅读这些代码,从中学到更多的AS知识,或由此引申出更多的AS Load

掌握Flash技巧:纯ActionScript的Loading效果四例

loading|技巧 前言:稍微大一些的Flash作品在播放之前都会有一个Loading预载画面,这考虑到网络的速度,本地浏览不需要等待下载,但传到网上,因为每个用户的网速不同,所以很有必要在我们的作品中加入Loading画面,之前,已经有很多教程是关于Loading制作方法的,今天我们给读者讲述四个纯AS的Loading效果,不懂AS的菜鸟或"代码盲"甚至可以直接复制教程中的代码到自己的作品中,懂AS代码的朋友,可以仔细阅读这些代码,从中学到更多的AS知识,或由此引申出更多的AS L

实用AS源代码:纯AS的Loading

loading|源代码 //**********************************************************//Copyright (C) 2006-2026 //黑白人动画工作室//Email:syxu@3c800.com//www.3c800.com//**********************************************************/* FLASH开发通用模板*///---------------------------

首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]_php实例

下载万次的首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过] 引用: 本插件由版主sakurakawaii于07年9月8日15:30分 在Windows XP Discuz!6.0.0标准模版 IE6 Mysql4.1下测试安装无错 本测试仅代表此插件安装无错,不包括今后长期使用中可能出现的问题引用: 声明:本程序引用了部分5.0四格的代码,若是源码作者有意见请短信我,一定删除发布! 经过大量修改和flash设置增加了好多自定义设置,此插件可以说

解决打印机无法打印12种方法

打印机不能打印大多是由于打印机使用.安装.设置不当造成的,病毒.打印机驱动损坏.打印机端口有故障也会导致打印机不能打印.当打印机不能打印时,以下12种方法基本能够解决问题. 一.打印机没有处于联机状态导致打印机不能打印 在大多数打印机上,"OnLine"按钮旁边都有一个指示联机状态的小灯,正常情况该联机指示灯应处于常亮状态.如果该指示灯不亮或处于闪烁状态,说明联机不正常.请检查打印机电源是否接通.打印机电源开关是否打开.打印机电缆是否正确连接等. 二.重新开启打印机 如果联机指示灯显示

云计算时代最具潜力的12种编程语言

  我们需要新的编程语言?你可能认为并不需要,但是如果你去了解最近的趋势,你可能会改变你的想法.为什么Google采用GO和DART两种编程语言?为什么IBM.Cray.Red Hat分别创造了X10.Chapel和Ceylon三种语言? 未来,这10种编程语言(DART.Ceylon.GO.F#.OPA.Fantom.Zimbu.X10.Haxe.Chapel)是否能否撼动IT.新的编程语言是为了满足某些人的创作冲动还是新编程方式的技术演进? 回顾历史 如果你回头看看,我们可以看出新语言的爆发

12种编程语言激发云时代的潜力

通常情况下,我们需要的新编程语言嘛?你可能认为我们并不需要.但是如果你了解过最近的趋势,你想法可能会有所转变.为什么Google采用了GO和DART两种编程语言呢?为什么IBM.Cray.Red Hat分别创造了X10.Chapel和Ceylon三种语言呢? 在未来,这10种编程语言(DART.Ceylon.GO.F#.OPA.Fantom.Zimbu.X10.Haxe.Chapel)是否能否改变IT.新的编程语言是为了满足某些人的创作冲动还是新编程方式的技术演进,我们又需要做些什么呢? 回顾历

教你用javascript实现随机标签云效果_附代码_javascript技巧

标签云是一套相关的标签以及与此相应的权重.典型的标签云有30至150个标签.权重影响使用的字体大小或其他视觉效果.同时,直方图或饼图表是最常用的代表约12种不同的权数.因此,标签云彩能代表更多的权,尽管不那么准确.此外,标签云通常是可以交互的:标签是典型的超链接,让用户可以仔细了解他们的内容.   大概可以理解为一堆相关或者不相关的标签混到一块,根据不同的重要程度,或者其他维度的不同来为每个标签设置不同的样式已凸显他们的不同,这样的一堆标签在一起就是我们通常说的标签云了.   下面我们大概说一下

当灾难来临 12种方法保护关键业务数据

本文讲的是当灾难来临 12种方法保护关键业务数据,当不可预估的灾难降临时,如何保护企业业务的关键数据?云计算供应商iland工程经理Jack Bailey表示,对于这个问题没有一个万能的办法,但是我们可以采取一些措施来保护重要的文件和应用程序. Jack表示,"当系统中断等事故抢占新闻头条时,管理人员往往有下意识反应,试图以最快速度部署灾难恢复产品.但每个企业和位置都是独特的,如果没有全面评估企业情况,可能会购买了昂贵而且不合适的解决方案." 虽然大多数IT管理人员和数据管理专家承认,