快速业务通道

flash as2简易教程第2篇:影片剪辑动起来

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07
按帧频的频率进行播放的话,那么一秒钟以后,myMc是不是向右移动了25个像素。
原理绕来绕去说半天,其实实现起来很简单,我们只需要找到一个能够使程序以帧频的频率运行的方法就可以了,这个方法就是使用onEnterFrame。多看它几眼,记住它吧,你以后会经常用到它。
看下面的代码:
  1. myMc._x=0;

  2. onEnterFrame=function(){

  3. myMc._x= myMc._x+1;

  4. }
复制代码 第一句不用解释了,使myMc处于X轴为0的位置上。
下面
onEnterFrame=function(){}
这是flash里常见的一种形式,onEnterFrame简单解释一下,就是使{}里边的程序体,按照帧频的频率来运行。
比如上面的例子中,如果你的flash文件帧频是25,那么,myMc._x=myMc._x+1就在一秒钟内运行了25次。
最后向初学者解释一下myMc._x=myMc._x+1的意思,这句话实际上就是把右侧myMc._x+1的值赋给左侧的myMc._x.。比如第一次循环的时候,myMc._x的值是0,那么0+1以后,再赋给myMc._x,此时myMc._x变成1,循环第二次的时候,1+1再赋给myMc._x,此时myMc._x的值变成2。当然,这句程序还有个更简单的写法:myMc._x++;作用和myMc._x=myMc._x+1的作用是一样的。
那如果myMc._x=myMc._x+2该怎么写?myMc._x+2?错了,正确的简写方法是myMc._x+=2;



好了,下面运行一下上面的程序,看看什么效果,试着把前面提到的影片剪辑的其他属性换掉_x试一下,看看什么效果。

到这里我们基本上使用程序的方式使影片剪辑动起来了,只要多动脑筋,你就可以利用这些制造出丰富多彩的动画效果。

但是,有人可能也发现了问题。就是没有办法让动画停下来。这是因为如果我们不把onEnterFrame清除的话,它会一直以帧频的频率运行下去。这不仅使你的动画停不下来,而且还将一直占用着你的CPU资源。所以,当onEnterFrame的任务完成以后,一定要把它及时地结束。
使用deleteonEnterFrame可以清除正在运行的onEnterFrame。

所以上面的例子,我们可以改成下面这样。
  1. myMc._x=0;

  2. onEnterFrame=function(){

  3. myMc._x= myMc._x+1;

  4. if(myMc._x>=200){

  5. delete this.onEnterFrame;

  6. }

  7. }
复制代码 再次运行试一下,影片剪辑运动到200的位置停下来了。

再次拿其他的属性来试一下吧。今天就说到这里,下次我们来研究一下缓冲效果,以及如何使用as实现更复杂的运动效果。

有问题的可以到我的博客(http://www.cnblogs.com/nethinks)或者加QQ群(46428099)进行交流。 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号