经典Flash技术探秘(33):小破孩之loading程序制作
软件世界
拾荒是一位多产的设计师,很早以前我们就相互认识了。他所创作的小破孩系列动画影响面很广,被不少“闪友奉为经典”。(图1)。
“小破孩”观看网址:http://www.flashempire.com/theater/top10.php?id=3004
对于“小破孩”系列动画,可供学习的Flash技术并不多,因为动画的成功主要依赖于作者精深的绘画功力过人的创意。好在它还需要一个Loading预载程序,在这里,笔者也设计了一段代码,对没有程序设计基础的朋友来说,应该是个福音。因为这段代码不需要手工添加任何内容,只需要把代码复制在影片的第1帧,就可以完成所有的Loading内容,包括进度条和预载的百分比文字(图2)。
stop()//在第1帧让影片停止播放;
_root.createEmptyMovieClip(“LoadingMc”,100)
//在根目录下建立一个空影片剪辑,名称为LoadingMc,层深为100;
with (_root.LoadingMc){
beginFill(0xFF0000)
moveTo( 0, 10 );
lineTo( 0, 0 );
lineTo( 350, 0 );
lineTo( 350, 10 );
lineTo( 0, 10 );}
//对于这个影片剪辑,使用0XFF0000也就是红色进行填充,填充的高度为10个像素,宽度为350个像素;
LoadingMc._x=100//LoadingMc影片剪辑的X坐标为100;
LoadingMc._y=200//LoadingMc的Y坐标等于200;
_root.createTextField(“LoadingText”,101,100,220,30,20)//在根目录下建立一个动态文本,名称为LoadingText;
LoadingText.border=false;
//LoadingText动态文本的文字不加粗;
LoadingText.multiline = true;
// LoadingText动态文本可以是多行文本;
LoadingText.wordWrap = true;
//LoadingText动态文本允许换行;
LoadingMc.onEnterFrame=function(){
//当影片开始播放时;
if(_root.getBytesLoaded()>=_root.getBytesTotal())
{//当影片已经下载的字节大于等于它的总字节时;
_root.play()//根目录开始播放;
_root.LoadingMc.removeMovieClip()
//删去刚才建立的LoadingMc影片剪辑;
_root.LoadingText.removeTextField()
//删去LoadingText动态文本;
}else{//否则;
_root.LoadingMc._xscale=(_root.getBytesLoaded()/_root.getBytesTotal())*100
//LoadingMc影片剪辑的X弦等于已经下载的字节数除以总字节数乘以100;
_root.LoadingText.text=int(LoadingMc._xscale)+“%”//LoadingText的内容等于LoadingMc影片剪辑的X弦,加上一个“%”号;
_root.LoadingText._x=LoadingMc._width+100
//LoadingText的X坐标等于LoadingMc影片剪辑的宽度。
}}
整体代码看似复杂,其实很简单,对大部分Flash来说,只需要将这段代码粘贴在第1帧,就可以完成Loading预载程序的制作。希望这段代码可以帮助更多的闪客初学者。
本实例代码下载地址:http://www.cpcw.com/32/32dm.txt

