经典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