雨轩 发表于 2009-4-16 11:07:44

Flash 动作脚本之:资料速查(17)

使用ActionScript的语法
   使用ActionScript的语法

  用ActionScript编写脚本时,如果使用正常模式的动作面板,通过从菜单和列表选择选项,可以创建简单的动作。 要想用ActionScript编写功能强大的脚本,你就必须深入了解Flash 5的ActionScript脚本语言。

  象其它脚本语言一样,ActionScript也有变量、函数、对象、操作符、保留关键字等语言元素,有它自己的语法规则。ActionScript允许用户创建自己的对象和函数。ActionScript的语法和风格与JavaScript非常相似,但不完全相同。ActionScript拥有自己的句法和标点符号使用规则,这些规则规定了一些字符和关键字的含义,以及它们的书写顺序。例如,在英语中句号结束一个句子,而在ActionScript中则用分号结束一个语句。

  下面列出ActionScript的一些通用语法规则。大多数ActionScript术语也都有它们自己的具体要求。对于某个专门术语的规则,却参阅ActionScript词典中相关的词条。

一、点语法

  在ActionScript中,点(.)被用来指明与某个对象或电影剪辑相关的属性和方法。它也用于标识指向电影剪辑或变量的目标路径。点语法表达式由对象或电影剪辑名开始,接着是一个点,最后是要指定的属性、方法或变量。例如,_X电影剪辑属性指出编辑区中电影剪辑的X轴位置。表达式ballMC._x是指电影剪辑实例ballMC的_X属性。

  作为另一个例子,submit是在电影剪辑form中设置的一个变量,而form又是嵌套在电影剪辑shoppingCart中的电影剪辑。表达式shoppingCart.form.submit = true的作用是设置实例form的submit变量的值为true。

  表达一个对象或电影剪辑的方法遵循相同的模式。例如,ballMC实例的play方法移动ballMC的时间轴播放头,就象下面的语句:
ballMC.play();  点语法使用两个特殊的别名:_root 和_parent 。别名_root 是指主时间轴。可以使用_root别名创建一个绝对路径。例如,下面的语句调用主时间轴中电影剪辑functions的buildGameBoard函数:
_root.functions.buildGameBoard();  可以用别名_parent引用嵌套当前电影剪辑的电影剪辑。也可以用_parent创建一个相对目标路径。 例如,如果电影剪辑dog被嵌套在电影剪辑animal之中,那么,在实例dog上的下列语句告诉animal停止播放:
_parent.stop();二、斜杠语法

  Flash 3和4使用斜杠语法指出电影剪辑或变量的目标路径。Flash 5播放器仍然支持这种语法,但不推荐使用。在斜杠语法中,斜杠被用来取代点,用以标明电影剪辑或变量的路径。 要指出一个变量,可以在变量前加上冒号,如下所示:
myMovieClip/childMovieClip:myVariable

  可以用点语法取代上述斜杠语法表示的目标路径:
myMovieClip.childMovieClip.myVariable
  斜杠语法在tellTarget动作中使用最普遍,但这种动作在Flash 5中已不再推荐使用。

  注:现在,宁愿使用with动作而不使用tellTarget,因为with动作与点语法更兼容。

三、大括号

ActionScript语句用大括号({ })分块,如下面的脚本所示:
on(release) {
myDate = new Date();
currentMonth = myDate.getMonth();
}

四、分号

  ActionScript语句用分号结束,但如果你省略语句结尾的分号,Flash仍然可以成功地编译你的脚本。例如,下面的语句用分号结束:
column = passedDate.getDay();
row = 0;
同样的语句也可以不写分号:
column = passedDate.getDay() row = 0

五、圆括号

  定义一个函数时,要把参数放在圆括号中:
function myFunction (name, age, reader){
...
}
  调用一个函数时,也要把要传递的参数放在圆括号中:
myFunction ("Steve", 10, true);
  圆括号也可以用来改变ActionScript的优先级,或使自己编写的ActionScript语句更容易阅读。

  也可以用圆括号来计算点语法中点左边的表达式。例如,在下面的语句中,圆括号使表达式new color(this) 得到计算,并创建了一个新的颜色对象:
onClipEvent(enterFrame) {
(new Color(this)).setRGB(0xffffff));
}
  在上例中,如果不使用圆括号,就需要在代码中增加一个语句来计算它:
onClipEvent(enterFrame) {
myColor = new Color(this);
myColor.setRGB(0xffffff);
}
页: [1]
查看完整版本: Flash 动作脚本之:资料速查(17)