使用ActionScript的语法
用ActionScript编写脚本时,若是使用正常模式的动做面板,经过从菜单和列表选择选项,能够建立简单的动做。 要想用ActionScript编写功能强大的脚本,你就必须深刻了解
Flash 5的ActionScript脚本语言。
象其它脚本语言同样,ActionScript也有变量、函数、对象、操做符、保留关键字等语言元素,有它本身的语法规则。ActionScript容许用户建立本身的对象和函数。ActionScript的语法和风格与
javascript很是类似,但不彻底相同。ActionScript拥有本身的句法和标点符号使用规则,这些规则规定了一些字符和关键字的含义,以及它们的书写顺序。例如,在英语中句号结束一个句子,而在ActionScript中则用分号结束一个语句。
下面列出ActionScript的一些通用语法规则。大多数ActionScript术语也都有它们本身的具体要求。对于某个专门术语的规则,却参阅ActionScript词典中相关的词条。
1、点语法
在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();
2、斜杠语法
Flash 3和4使用斜杠语法指出电影剪辑或变量的目标路径。Flash 5播放器仍然支持这种语法,但不推荐使用。在斜杠语法中,斜杠被用来取代点,用以标明电影剪辑或变量的路径。 要指出一个变量,能够在变量前加上冒号,以下所示:
myMovieClip/childMovieClip:myVariable
能够用点语法取代上述斜杠语法表示的目标路径:
myMovieClip.childMovieClip.myVariable
斜杠语法在tellTarget动做中使用最广泛,但这种动做在Flash 5中已再也不推荐使用。
注:如今,宁愿使用with动做而不使用tellTarget,由于with动做与点语法更兼容。
3、大括号
ActionScript语句用大括号({ })分块,以下面的脚本所示:
on(release) {
myDate = new Date();
currentMonth = myDate.getMonth();
}
4、分号
ActionScript语句用分号结束,但若是你省略语句结尾的分号,Flash仍然能够成功地编译你的脚本。例如,下面的语句用分号结束:
column = passedDate.getDay();
row = 0;
一样的语句也能够不写分号:
column = passedDate.getDay() row = 0
5、圆括号
定义一个函数时,要把参数放在圆括号中:
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);
}
6、字母的大小写
在ActionScript中,只有关键字区分大小写。对于其他的ActionScript,可使用大写或小写字母。例如,下面的语句是等价的:
cat.hilite = true;
CAT.hilite = true;
可是,遵照一致的大小写约定是一个好的习惯。这样,在阅读ActionScript代码时更易于区分函数和变量的名字。若是在书写关键字时没有使用正确的大小写,你的脚本将会出现错误。当在动做面板中启用彩色语法功能时,用正确的大小写书写的关键字以蓝色显示。
7、注释
须要记住一个动做的做用时,可在动做面板中使用comment语句给帧或按钮动做添加注释。若是你在协做环境中工做或给别人提供范例,添加注释有助于别人对你编写的脚本的理解。
在动做面板中选择comment(注释)动做时,字符//被插入到脚本中。若是在你建立脚本时加上注释,即便是简单的脚本也易于理解:
on(release) {
// 创建新的日期对象
myDate = new Date();
currentMonth = myDate.getMonth();
// 把用数字表示的月份转换为用文字表示的月份
monthName = calcMonth(currentMonth);
year = myDate.getFullYear();
currentDate = myDate.getDat ();
}
在脚本窗口,注释内容用粉红色显示。它们的长度不限,且不影响导出文件的大小。
8、关键字
ActionScript保留一些单词,专用与本语言之中。所以,不能用这些保留字做为变量、函数或标签的名字。下表列出了ActionScript中全部的关键字:
break
|
for
|
new
|
var
|
continue
|
function
|
return
|
void
|
delete
|
if
|
this
|
while
|
else
|
in
|
typeof
|
with
|
要了解更多关于专用关键字的信息,请参阅ActionScript词典中相关的词条。
9、常数
常数是其值永不改变的属性。常数用大写字母列于动做工具箱和ActionScript词典中。例如,常数BACKSPACE、ENTER、QUOTE、RET 、SPACE和TAB是Key对象的属性,指键盘上的键。要测试用户是否在按Enter键,使用下面的语句:
if(keycode() == Key.ENTER) {
alert = "Are you ready to play?"
controlMC.gotoAndStop(5);
}
*.使用点语法(Dot)来参考对象的属性(Property)与方法(Method)
*数据类型:提供String(字符串类型).Number(数字类型).Boolean(布尔型).Object(对像型).Movie Clip(电影剪辑型)等多种数据类型.
*变量:能够灵活用与全局变量和局部普通量.
*函数:有丰富的函数系统,并还能够自定义.并还能够返回数值和传递参数.
*对象:来处理特定的数据类型,如日期对象,声音对象.电影剪辑对象等,还能够根根须要自定义对象并定义其属性与方法.
*复杂指令:do......while与For指令处理复杂的过程.
As术语:
actions(动做)可指定一个动画在播放时作某些事件,例如:gotoAndplay
Arguments(参数)
续...