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

本文介绍了一种使用Flash制作的动态加载进度条,通过调整细柱数量、颜色和效果库等参数实现不同的视觉效果。该进度条支持显示百分比,并可根据设置展示不同的进出动画。
//加载需要使用的类
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_IndexItem_Index) {
  for (var i:Number = Item_Index; i
//定义结束触发函数
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
//删除所有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
//=============================================
//画圆角矩形
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(); 
 } 
}
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-loadingjiaocheng/2049.html
潮汐研究作为海洋科学的关键分支,融合了物理海洋学、地理信息系统及水利工程等多领域知识。TMD2.05.zip是一套基于MATLAB环境开发的潮汐专用分析工具集,为科研人员与工程实践者提供系统化的潮汐建模与计算支持。该工具箱通过模块化设计实现了两大核心功能: 在交互界面设计方面,工具箱构建了图形化操作环境,有效降低了非专业用户的操作门槛。通过预设参数输入模块(涵盖地理坐标、时间序列、测站数据等),用户可自主配置模型运行条件。界面集成数据加载、参数调整、可视化呈现及流程控制等标准化组件,将复杂的数值运算过程转化为可交互的操作流程。 在潮汐预测模块中,工具箱整合了谐波分解法与潮流要素解析法等数学模型。这些算法能够解构潮汐观测数据,识别关键影响要素(包括K1、O1、M2等核心分潮),并生成不同时间尺度的潮汐预报。基于这些模型,研究者可精准推算特定海域的潮位变化周期与振幅特征,为海洋工程建设、港湾规划设计及海洋生态研究提供定量依据。 该工具集在实践中的应用方向包括: - **潮汐动力解析**:通过多站点观测数据比对,揭示区域主导潮汐成分的时空分布规律 - **数值模型构建**:基于历史观测序列建立潮汐动力学模型,实现潮汐现象的数字化重构与预测 - **工程影响量化**:在海岸开发项目中评估人工构筑物对自然潮汐节律的扰动效应 - **极端事件模拟**:建立风暴潮与天文潮耦合模型,提升海洋灾害预警的时空精度 工具箱以"TMD"为主程序包,内含完整的函数库与示例脚本。用户部署后可通过MATLAB平台调用相关模块,参照技术文档完成全流程操作。这套工具集将专业计算能力与人性化操作界面有机结合,形成了从数据输入到成果输出的完整研究链条,显著提升了潮汐研究的工程适用性与科研效率。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值