|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
“swf”这是一个完整的影片档,无法被编辑。swf在发布时可以选择保护功能,如果没有选择,很容易被别人输入到他的原始档中使用。
poluoluo中心提醒:前次我们学会了怎样创立影片剪辑和怎样从库中挪用影片剪辑。可是Flash之以是在动画范畴一骑尽尘,靠的但是鹤立鸡群的动画才能。以是,怎样用as完成动画才是成绩的关头。如今我们就来切磋一下这个成绩。
空话少叙,上面我们持续来说解关于影片剪辑的常识。
前次我们学会了怎样创立影片剪辑和怎样从库中挪用影片剪辑。可是flash之以是在动画范畴一骑尽尘,靠的但是鹤立鸡群的动画才能。以是,怎样用as完成动画才是成绩的关头。如今我们就来切磋一下这个成绩。
在切磋之前,起首请确认你了解这个观点:帧。已懂得该观点的同砚,这一段能够华美地擦过了。帧是动画里的一个观点,说复杂点,就是影戏中的一格。见过影戏胶片的人都晓得,影戏是由一格一格的画面构成的。影戏镜头靠在极短的工夫里播放这些画面而使镜头联贯成活动的影象,详细说是一秒钟24格。动画里的帧也是如许的观点,而帧频就是指每秒钟播放的整数,flash就是靠这个来完成动画播放的,传统的flash关头帧动画也是靠播放头沿工夫轴播放而完成动画的。没见过期间轴的,能够翻开flash看一眼。
那末,假如我们利用as,又怎样让影片剪辑动起来呢?只需我们也以帧频的速率把持影片剪辑的属性就好了。
上面先容一些影片剪辑罕见的属性。剩下的人人能够往查flash的匡助。(利用匡助是自学软件言语最便利的进修办法,只需按F1就出来了。)
在上一篇中实在我们已打仗到了一些。
好比myMc._x
myMc._y
个中myMc是你的影片剪辑称号。注重这里的称号不是它在库里作为元件的称号,而是它在场景里的称号,也就是createEmptyMovieClip中你为它起的谁人名字,大概attachMovie中的第二个名字。
好比:
this.createEmptyMovieClip(“myMc”,1);中的myMc
大概
this.attachMovie(“myMovie”,”myBtn”,1);中的myBtn,注重不是myMovie,不晓得myMovie是甚么的,归去看第二篇。
固然你也大概不是利用as创立大概加载的影片剪辑,而是间接利用鼠标从库中拖过去的影片剪辑。那ok,用鼠标点中它,在属性面板中为它定名,此处命的名就是你在程序中利用它的时分要用的称号,就像你叫“小张”,小张就过去了。
_x是影片剪辑X轴坐标,_y是影片剪辑的Y轴坐标。
myMc._x=10;
myMc._y=20;
这两句代码就是把myMc放到x轴坐标为10,y轴坐标为20的地位。
本人从库中加载一个影片剪辑,把这两个数字改几回,试一下。
其他的属性同理。
_alpha是影片剪辑的通明度。
_width是影片剪辑的宽度。
_height是影片剪辑的高度。
_rotation是影片剪辑的角度。
_xscale是影片剪辑横向上的扩大度。
_yscale是影片剪辑总向上的扩大度。
没有分明这几个属性甚么意义的,也依照下面的办法试一下。
好了,既然分明了这几个属性的意义,我想动画应当怎样完成,人人估量已猜出来了,好比我想让myMc从左边横着飞出场景的话,只必要把持_x,使它从一个负值,酿成某一个正值就能够了。好比让他变到100,那它就停在x轴坐标100的地位了。
其他的也同理,好比渐现,渐隐,就是一个通明度的把持,也就是对_alpha的值的把持,变年夜变小则是对_width、_height、_xscale、_yscale的把持来完成,而扭转,则经由过程_rotation的把持来完成。
道理晓得了,怎样完成呢。
经由过程轮回。
只需我们创建一种轮回,使他在每次轮回的过程当中改动myMc的属性值就能够了。好比第一次轮回,myMc._x=0;第二次轮回,把这个值加1,myMc=1,以此类推,myMc=2,=3,=4,轮回下往,而flash的帧频假如是25,也就是每秒钟播放25帧的话,假如我们使这段程序按帧频的频次举行播放的话,那末一秒钟今后,myMc是否是向右挪动了25个像素。
道理绕来绕往说半天,实在完成起来很复杂,我们只必要找到一个可以使程序以帧频的频次运转的办法就能够了,这个办法就是利用onEnterFrame。多看它几眼,记着它吧,你今后会常常用到它。
看上面的代码:
myMc._x=0;
onEnterFrame=function(){
myMc._x=myMc._x+1;
}
第一句不必注释了,使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。
以是下面的例子,我们能够改成上面如许。
myMc._x=0;
onEnterFrame=function(){
myMc._x=myMc._x+1;
if(myMc._x>=200){
deletethis.onEnterFrame;
}
}
再次运转试一下,影片剪辑活动到200的地位停上去了。
再次拿其他的属性来试一下吧。明天就说到这里,下次我们来研讨一下缓冲效果,和怎样利用as完成更庞大的活动效果。
Flash也支持高品质的mp3音频流、文字输入字段、交互式接口等等很多工具。这个最新版本可以观看所有的flash格式。 |
|