当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash 动作脚本之:资料速查(10)

Flash动画制作
Flash CS3教程:墨水瓶工具创建轮廓线
Flash绘画技巧:绘制切开的西瓜和咸鸡蛋
Flash动画制作技巧:高级的阴影技巧
Flash CS3技巧:直接导入PSD文件编辑
Flash绘画技巧:透视和层次效果的阴影
Flash绘画技巧:投影滤镜设置阴影
Flash动画技巧:flash制作同步特效
Flash旋转复制和对齐工具绘制齿轮图标
Flash角色绘画技巧:绘制人物头像
Flash摄像头游戏课件的设计与实现
Flash技巧:PNG非透明区域为mask
Flash动画技巧:边缘模糊的mask
Flash遮罩让图片流动起来
Flash绘制:云层,海鸥,椰树,帆船,伞,椅子,日光
Flash鼠绘新手入门:金属花朵装饰的相框
网页中嵌入flash的最佳方案
Flash动画漫画人物的基本形变研究
Flash CS4基础(4):3d动画特效
Flash CS4教程:3D旋转和3D位移
Flash制作变化的模糊和拉伸产生超酷动画

Flash动画制作 中的 Flash 动作脚本之:资料速查(10)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 67 ::
收藏到网摘: n/a

使用自定义对象

    

5允许用户自定义函数来执行一系列语句,对传递过来的值进行操作,并可返回值。函数定义好以后,就可以从任何时间轴(包括载入动画的时间轴)调用它。

  可以把函数想像为一个“黑箱”。调用函数时给它提供输入(参数),它执行某些操作后产生输出(返回值)。 在自定义函数中,最好对它的输入、输出和用途作详细的注释,使用户易于理解和使用。

一、定义函数

  象变量一样,函数是附属于定义它的电影剪辑的。当一个函数被重新定义时,新的定义取代旧的定义。要定义一个函数,使用function动作,后跟一个函数名、要传递给函数的参数和指出该函数做什么的ActionScript语句。

下面是一个称为Circle的函数,有一个参数radius :

function Circle(radius) {	this.radius = radius;	this.area = Math.PI * radius * radius;}
注:用于函数体内的关键字this是对函数所属电影剪辑的引用。

  也可以通过创建函数常量来定义函数。函数常量是指在表达式中而不是在语句中声明的不命名的函数。可以用函数常量定义函数,返回它的值,把它赋给表达式中的变量,如下所示:

area = (function () {return Math.PI * radius *radius;})(5);
二、给函数传递参数

  参数是函数代码处理的元素。例如,下面的函数有两个参数initialsfinalScore :
function fillOutScorecard(initials, finalScore) {	scorecard.display = initials;	scorecard.score = finalScore;}
  当这个函数被调用时,必须把它要求的参数传递给它。该函数用传递过来的值取代函数定义中的参数。在本例中,scorecard是一个电影剪辑的实例名;displayscore是实例中的输入文本域。下面的函数调用把值"JEB"赋给变量display ,把值45000赋给变量score
fillOutScorecard("JEB", 45000);

  函数fillOutScorecard中的参数initials类似于局部变量。该函数被调用时它存在,退出函数时它消失。如果调用函数时省略了参数,省略了的参数以undefined传递。如果在调用函数时提供了函数定义中并不要求的多余参数,这些多余? 数被忽略。

三、在函数中使用局部变量

  局部变量是组织代码并使代码易于理解的重要工具。当一个函数使用局部变量时,它可以隐藏它的变量,使本动画的其它脚本不能访问。 局部变量的作用范围局限在本函数体内,并在退出函数时消失。传递给函数的任何参数均作为局部变量处理。

注:如果在函数中修改全局变量,请使用脚本注释说明这些修改。

四、从函数中返回值

  你可以用return动作从函数中返回值。return动作终止函数,并用return动作的值取代它。如果Flash在函数结束前没有遇到return动作,将返回空字符串。例如,下面的函数返回参数x的平方:

    

function sqr(x) {	return x * x;}

  有些函数完成一系列任务,但不返回值。例如,下面的函数初始化一系列的全局变量:

function initialize() {	boat_x = _root.boat._x;	boat_y = _root.boat._y;	car_x = _root.car._x;	car_y = _root.car._y;}

五、调用函数

  在正常模式的动作面板中调用函数,使用evaluate动作,用圆括号传递要求的参数。 你可以从任何时间轴(包括载入的动画)调用任何时间轴中的函数。例如,下面的语句调用主时间轴中的电影剪辑MathLib的函数sq