| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
简介动画制作过程
AS计算方面的错误
如何用flash做除法
利用文本框制作简
复杂做法·计算器
如何使用AI(人工智
谈谈Flash的一些语
计算器,按照运算
计算器
[计算机模拟]元胞

大量计算分帧方法(源文件、例)           

大量计算分帧方法(源文件、例)

作者:佚名 来源:不详 更新:2007-1-13 20:46:21 错误报告 我要投稿
先看看例子
-----------------------------------------------------------------------------------------

点击浏览该文件

-----------------------------------------------------------------------------------------

思路:计算所消耗的时间来判断是否将余下的计算工作留到后面的帧,代码如下:
------------------------------------------------------------------------------------------
function js(fun:Function){
_root.msg="正在计算中...[0%]";
_root.lp.gotoAndStop(1);
_root.st=new Date();
_root.createEmptyMovieClip("__js",_root.getNextHighestDepth());
var tag=_root.__js;
tag.limitTime=int(1000/50);
tag.sttime=(new Date()).getTime();
tag.nowN=0;
tag.sum=0;
tag.ltag=_root.lp; //进度条
tag.fun=fun; //回调函数
tag.timeSum=0; //总时间
tag.N=Number(_root.n.text)*10000;
tag.onEnterFrame=function(){
var st=(new Date()).getTime();
var b=(new Date()).getTime();
var end=false;
while((b-st)<this.limitTime) //如果这一帧的计算时间已经超过这一帧应有的时间,就跳出。
{
if(this.nowN<this.N)
{
//-------------------计算部分
this.sum+=this.nowN;
this.nowN++;
//-----------------------------
}else
{
end=true;
break;
}
b=(new Date()).getTime();
}
_root.msg="正在计算中...["+int(this.nowN*10000/this.N)/100+"%]";
this.ltag.gotoAndStop((int(this.nowN*100/this.N)+1));
trace("一帧");
if(end){
this.timeSum=(b-this.sttime);
_root.msg="计算结束,共用时"+this.timeSum+"毫秒,结果为"+this.sum+"。";
this.fun(this);
delete this.onEnterFrame;
}
};
}
function callBack(tag) //回调函数
{
tag.removeMovieClip(); //清理计算用的mc
trace("结果="+tag.sum+"\r时间="+tag.timeSum);
}

--------------------------------------------------------------------------------------------

源文件
----------------------------------------------------------------------------------------
点击浏览该文件

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。