AS实例代码--Loading预载画面效果 [ 网站地图 ]

发表于:2009-12-7 浏览:29 作者: 来源:互联网

关键字:LOADING,实例,画面,效果,代码

描述:二.egg616的Loading艺术之一 1、制作原理: 世界上所有的loading大概都可以分为三个部分: 1制造一个循环,用于更新数据。一般来说有两种方法,一种是做成二帧,在第二帧中用gotoAndPlay(1)命令产生循

二. egg616的Loading艺术之一

1、制作原理:

世界上所有的loading大概都可以分为三个部分:

1 制造一个循环,用于更新数据。一般来说有两种方法,一种是做成二帧,在第二帧中用gotoAndPlay(1)命令产生循环。另一种是只做一帧,利用onEnterFrame命令产生循环。

2 利用getBytesTotal()与getBytesLoaded()命令获取文件数据。

3 以图形或动画的方式将第二步获取的数据表现出来(一般同时还以文本方式精确表示)

上面的说明,对一个会做LOADING的人来说是很清楚的,但不会做的看了大概还是不会(呵呵)所以下面我们一步一步来,做个简单的例子(不做文本显示数据了):

2、简单的例子(只有两步,相信你有这个耐性):

Ⅰ 打开你一个心爱的动画,新建一个场景,并把它拖到最前面。

Ⅱ 在帧上加入以下的AS动作,即大功告成!

源代码:

stop ();

function dr ( nam , de , d , al ) {

na = createEmptyMovieClip ( nam , de );

na . lineStyle ( d , 0x9900cc , al );

na . _x = 160 ;

na . _y = 280 ;

na . lineTo ( 240 , 0 );

}

//一个画线条的函数,四个参数对应什么,自己看哈

onEnterFrame = function () {

var a = getBytesTotal ();

var b = getBytesLoaded ();

//取得下载的数据

if ( b < a ) {

dr ( "b1" , 0 , 30 , 30 );

dr ( "b2" , 1 , 20 , 30 );

dr ( "b3" , 2 , 20 , 100 );

b3 . _xscale = b / a * 100 ;

//画三条横线,显示下载进度;

} else {

delete onEnterFrame ;

b1 . removeMovieClip ();

b2 . removeMovieClip ();

b3 . removeMovieClip ();

play ();

//下载完毕,删除图形和函数;

}

};

可以按两次Ctrl+Enter进行下载测试,若对AS有恐惧症者,闭着眼睛复制—粘贴即可


站长资讯网 做中国最丰富的资讯网站 沪ICP备05004089号