| 设置首页 收藏站点 关于我们 联系站长

 | 首页 | 教程 | 脚本 | 博客 | 娱乐 | 图库 | 音效 | 软件 | 教案 | 论文 | 试题 | 课件 | 影视 | 

|| 您现在的位置: 课件大师 >> 脚本 >> Flash_MX >> 正文
普通脚本《隐形的翅膀》观后感
普通脚本[图文]Flash AS代码简
普通脚本[组图]Flash绘画实例
推荐脚本[组图]用PowerPoint制
普通脚本[图文]化学符号编辑器
普通脚本[图文]数学公式编辑器
普通脚本[组图]PowerPoint制作
普通脚本控制PowerPoint课件中
普通脚本[组图]用Office 2007
普通脚本[组图]用Word做个招财
推荐脚本[组图]用PowerPoint制
推荐脚本[组图]超强公式编辑器
推荐脚本用FSCommand调用EXE可
推荐脚本在FLASH MX中如何精确
推荐脚本FlashMX中loading的制
推荐脚本FlashMX getURL函数的
推荐脚本FlashMX命令FS Comma
推荐脚本Flash MX2004的新东东
ActionScript初

Flash AS代码简单实

Flash绘画实例:卡通

用PowerPoint制作做

化学符号编辑器 化学

[组图]ActionScript初级特效制作:画面特效(1)         ★★★
ActionScript初级特效制作:画面特效(1)
副标题:
作者:佚名 文章来源:互联网 点击数: 更新时间:2005-11-10 8:34:25

    画面特效是指那些通过程序自动生成的画面,或者在简单的画面制作之后通过程序来进行控制,从而完成那些用手工制作非常费时费力甚至是无法完成的特效,因而极大地加强了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 makeScratch (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));

    }

};

其实也没有什么变化,只是函数的定义方式发生了一点小小的改变而已,执行的结果与上面一样。为了让大家看清楚,背景色特意没有设成黑色,而是采用了深灰色,如图2-6与图2-7所示。

    

2-6                                           2-7

2.2.2  往返光条效果

在动画中有时为了增加动态的效果,可以在画面中加几个来回移动的透明光条,这些光条都具有下面的几个特征:

宽度可以来回变化,比如先从窄变宽,然后又可以再变回窄。
在某个固定范围内来回移动。
很多个这样的光条各自独立互不干扰。

一般情况下,要制作这种效果,很多设计师都是采用一条条地逐个制作的方式来实现,制作起来工作量大,而且适应性差。有时在这个BANNER动画中制作好了,在另一个BANNER动画中因它们的宽度或者高度发生改变,要用时又得修改它,费时又费力。现在有一种办法,通过程序来生成这个效果,一次制作,无限次使用,一切将变得非常轻松。

首先我们制作一个最基本的无边框白色矩形的动画片断(MovieClip),如图2-8所示。

2-8

矩形的高度与宽度分别是16020,当然了,这两个值,可以根据自己的需要来定义,然后把它加到场景中。选中它,在Actions面板中加入下面代码:

onClipEvent (load) {

    //设置小条的透明度为15

    this._alpha = 15;

    //设置它的x起始位置是场景中的任意位置

    this._x = random(Stage.width);

    //设置它的y位置是场景中的中心位置

    this._y = Stage.height/2;

    this._xscale = random(50)+20;

    //设定小条在来回移动时最左边与最右边的位置

    low = random(Stage.width*0.25);

    high = Stage.width*0.75+random(Stage.width*0.20);

    //设置一次移动的距离

    move = 2*(3-random(6));

    //小条移动距离不能为0

    if (move == 0) {

             move = 3;

    }

    //设置小条的宽度变形

    scale_move = 2*(3-random(6));

    if (scale_move == 0) {

             scale_move = 3;

    }

}

onClipEvent (enterFrame) {

    this._x += move;

    this._xscale += scale_move;

    //小条的宽度比例不能太小,也不能太大

    if (_xscale>200 or _xscale<20) {

             //宽度变化反向

             scale_move = -scale_move;

    }

    //小条只能在它自己的左右范围内来回移动

    if ((this._x>high and move>0) or (this._x<low and move<0)) {

             //移动反向

             move = -move;

    }

}

这样,一个可以自由往返的光条就制作完成了。

整个程序代码的核心就是通过正负movescale_move的值来控制光条方向与宽度的变化。因为程序代码已与基本方块完全封装在了一起,所以在实际使用过程中光条的个数可以轻松控制,只需复制数个便可,运行的效果如图2-9及图2-10所示。

这种特效在很多广告BANNER中都可以用到。如果色彩感较好,还可以修改基本色块的颜色,甚至让每一块的颜色都不相同,产生出一种眩目的效果。


2-9

2-10


脚本录入:潜龙在野    责任编辑:潜龙在野 
  • 上一篇脚本:

  • 下一篇脚本:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |

    网站维护:潜龙 QQ:20885537 Email:WebMaster#PowerCai.Com备案编号:渝ICP备05001729号