|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
2.2 画面特效(1)
画面特效是指那些通过程序自动生成的画面,或者在简单的画面制作之后通过程序来进行控制,从而完成那些用手工制作非常费时费力甚至是无法完成的特效,因而极大地加强了Flash动画的效果。 2.2.1 电视信号效果在Flash MX特效中,有一种经常可以用到的效果就是电视线特效。它主要用在黑色背景中,通过一些无序点与线的闪动达到这种动态的效果。程序代码如下: Movieclip.prototype.makeScratch = function(name, n, color, alpha, x, y, radius, ratio) { with (this.createEmptyMovieClip(name, n)) { //画一条透明度为alpha的线 lineStyle(radius, color, alpha); moveTo(x, y); lineTo(x, y (100/ratio)); } }; this.onEnterFrame = function() { //产生20条这样的灰色半透明的线 for (var r = 0; r<20; r ) { makeScratch("b_" r, 100 r, 0x999999, random(60), random(Stage.width), random(Stage.height), random(10), random(200)); } }; 这段程序好像非常短小,其实却包括“动画片断函数原型的定义”这一重要知识点。在很多地方,动画经常要用到某个函数,而这个函数又属于动画片断之中,这样就可以采用Movieclip.prototype.原型名=function(…)的方式来自定义原型。当然了,这里的原型函数名可以自己随便写,完成定义后,在任何一个动画片断中就可任意使用这个自定义的函数了。 虽然自定义函数原型非常方便,但是大量地定义它会带来不良后果,因为每一个自定义的函数原型要占用一定的资源,如果大量定义的话,系统资源的消耗将增大,将会影响到其他程序的快速执行。
当然了,这个效果如果不用面向对象的编程来写,而采用普通的函数来写也是可行的。onEnterFrame部分不变,函数原型定义部分程序改写成函数定义,代码如下: function makeSc |
|