云南师范大学计算机科学与信息技术学院教育技术学——杨金平
= 属性
属性类中的关键字反映了Flash中元素的相关信息。例如_x属性代表影片剪辑在屏幕中的水平位置。 = 对象
对象类是最复杂的一类,它包含了ActionScript中的众多概念。所有的对象关键字被分成4个子类:核心、影片、客户端/服务器、创作。影片剪辑是影片类下面的一种,它包含了与控制影片剪辑相关的关键字。Math是核心下面的一种,它包含了求平方根、正弦值等数学函数。 = 否决的
这一类中的关键字是已经作废但Flash MX仍然支持的,在Flash MX中请尽量避免使用,因为在以后的Flash版本中将不再支持这些关键字。 = Flash UI组件
这一类中的关键字包含了特殊功能的组件,如单选按钮、滚动条等。 = 索引
索引类将ActionScript中的所有关键字按字母顺序排列。以上各类中的关键字都可以在索引类中找到。 动作面板中提供的关键字分类有时可以帮你方便地找到需要的关键字,但也有可能给你带来麻烦。如你可能认为表示影片剪辑水平坐标属性的_x应该在对象类的“影片”/“影片剪辑”/“属性”里面,但它却在属性类里面。你可能认为sqrt(开平方)应该在函数类中,但它却在“对象”/“核心”/“Math”/“方法”下面。
2.4 使用Flash的帮助系统
最好的程序员往往也要查阅一下工具书,Flash中的帮助系统就是一本功能强大的工具书,所以在学习更多内容之前,先了解一下Flash的帮助系统,将对我们的学习不无陴益。
Flash使用工具提示和基于扩展HTML的帮助系统。为了对ActionScript的使用更加娴熟,你就需要知道如何使用它们。 2.4.1 简单定义
如果你习惯使用动作面板中的关键字分类目录,你应该会注意到当你在左边的目录中选中某个关键字时,面板右边的上面部分会给出与所选关键字相应的简单定义。你会看见这样的句子:“要添加某项,可双击该项或将其拖动到脚本窗口。
例如选中goto命令时,你会看到这样的提示:“转到影片的指定帧。”它显示了该脚本的基本功能。 单击别的命令查看一下它们的定义,在学习下面的知识之前,你可以花些时间多看一下动作面板中的命令。 2.4.2 脚本参考面板
Flash使用脚本参考面板帮助你记住ActionScript的语法。可以选择“窗口”→“脚本参考”命令或按快捷键Shift+F1打开脚本参考面板。
脚本参考面板的左边与动作面板左边的脚本目录很相似。你也可以通过动作面板进入脚本参考面板,单击动作面板中的 按钮可以打开脚本参考面板,打开的脚本参考面板会自动显示你在动作面板中选中的命令。 2.4.3 HTML帮助文档
如果要获得ActionScript命令更详细的说明,可以选择“帮助”→“动作脚本词典”命令,这将启动你的浏览器并打开如图2-4所示的页面。
图2-4 动作脚本词典
浏览器窗口的左边是所有ActionScript命令和函数的总目录,在左边的条目上单击,窗口的右边部分会显示其详细的内容。
选中每个条目时,右边窗口中通常会包括与该条目的说明以及它的使用范例。 在你以后使用Flash的时候可能经常会用到帮助文档,所以请花一些时间了解它吧。 2.5 动作面板的专家模式
现在你已经了解了动作面板的标准模式,下面要向你推荐多数ActionScript程序员使用的专家模式。
13
云南师范大学计算机科学与信息技术学院教育技术学——杨金平
在专家模式下,你可以直接通过键盘输入脚本,而不需要从左边的目录中选择命令。这种模式下你可以在动作面板中输入任何东西,但也很容易导致错误。
在专家模式下,你仍然可以从左边的目录中选择并插入标准的ActionScript命令、函数和运算符。当你记不确切一条命令的时候就可以使用这种方法。 2.5.1 切换模式
要从标准模式切换到专家模式,可以单击动作面板中的 按钮,或者单击动作面板右上角的 按钮,在打开的下拉菜单中选择“专家模式”命令。在动作面板获得焦点的情况下,快捷键Ctrl+Shift+N可以切换到标准模式,快捷键Ctrl+Shift+E可以切换到专家模式。
如图2-5所示为专家模式下的动作面板。在专家模式下,参数设置区、命令提示信息都没有了,脚本编辑窗口占据了动作面板右边的大部分。
从标准模式切换到专家模式是非常容易的,但是要从专家模式切换到标准模式则要求脚本中没有语法错误。比如说你不明白如何设置一些命令的参数,需要从专家模式切换到标准模式以使用标准模式下的提示,但是Flash却不允许你进行切换,提示你“此脚本中有语法错误,必须在‘专家模式'下编辑它”;而当你知道如何设置参数并将脚本书写正确了,又不再需要切换到标准模式了。 2.5.2 动作面板的下拉菜单
动作面板的下拉菜单中有一些特别是在专家模式下编辑脚本时很有用的命令。
你可以使用查找和替换命令在代码中执行查找和替换操作。按快捷键Ctrl+F可以打开“查看”对话框,按快捷键Ctrl+H可以打开“替换”对话框。 “转到行?”命令可以快速转到并选中指定的行。
“语法检查”命令或按钮 可以对窗口中的脚本进行语法检查,如果没有语法错误,将提示你“此脚本中没有错误。”
通常,语法检查只能检查出代码中的明显语法错误,它并不能检查脚本是否能正确运行。经常会发生这样的事情,就是每一行的代码都是正确的,但所有的代码加在一起却导致了错误。
语法检查功能很实用,特别是对初学者来说,它能方便地检查出误用运算符或缺失括号等情况。 “自动套用格式”命令可以按预先设置的样式和缩进等设置脚本的格式。你可以选择“自动套用格式选项”命令,在“自动格式选项”对话框中重新设置要应用的格式,
另外,选择“首选项?”命令可以设置动作面板中脚本代码的颜色、制表符宽度、字体等。你也可以在Flash MX的菜单栏中选择“编辑”→“首选参数”命令,在打开的“首选参数”对话框中选中“动作脚本编辑器”选项卡,打开相同的对话框,如图2-7所示。
图2-7 “首选参数”对话框
为脚本上色有利于编写程序。使用这项功能时,你将看到ActionScript中的关键字以一种颜色显示,而另外一些变量和常数以另外的颜色显示。这对初学者是很有帮助的。如正确输入关键字gotoAndPlay后,它马上会以蓝色显示。如果它的颜色没有发生变化,有可能就是你的输入有误。
动作面板下拉菜单中还有导入导出文件以及打印等命令,可以将使用外部的文本编辑器编辑好的脚本导入到动作面板中,或将动作面板中的脚本导出或打印出来。
从外部导入脚本的方法并不值得推荐,因为动作面板虽然不是最快捷的文本编辑器,但是在其中编辑ActionScript是最好的,你可以在需要的时候参照脚本分类目录,可以即时的查看Flash中的影片剪辑的名称,查看帧编号或帧标签。另外,你还可以快捷地切换到Flash影片中要插入脚本的任何位置。 2.5.3 在专家模式下输入脚本
使用动作面板的专家模式要比标准模式容易得多,因为在专家模式下你只需要敲击键盘,而不需要在窗口中填写表格。专家模式下的动作面板就像一个简单的文本编辑器。
使用专家模式的缺点就是很容易出错。标准模式为你添加了很多限制,而在专家模式下你有可能键入不正确的命令或者将参数放错位置。
14
云南师范大学计算机科学与信息技术学院教育技术学——杨金平
在专家模式下,你可以方便地将光标定位在合适的位置。但是Flash也不能完全任你随心所欲,它会在你键入的同时自动调整脚本格式,将不同的关键字设置成不同的颜色。
你可以单击 按钮以检查脚本中的语法错误,单击 按钮以格式化整个脚本,如在需要的位置换行、设置空格和缩进等。
动作面板还有代码提示的功能。当你键入脚本的时候有时会出现一个提示菜单,你可以忽略它继续键入,或者从中选择需要的项目。单击 按钮可以显示代码提示。 2.6 练习:在专家模式下输入脚本
下面我们练习在专家模式下输入脚本。其操作步骤如下: (1)新建一个文档。
(2)选择默认的场景1图层1中的第一个空白关键帧。 (3)按F9键打开动作面板。
(4)使用菜单将动作面板切换到专家模式。 (5)在脚本编辑区单击。 (6)键入下面的一行代码: gotoAndPlay(5);
第3章 ActionScript编程初步
计算机程序是由命令、函数、运算符、条件和循环等结构组成的。命令是为计算机下达的一系列指令,函数执行计算和返回值,通过运算符将若干数据以某种特定的方式结合起来,条件测试一个或多个值以返回一个为true或false的布尔值,循环结构使得程序能够重复执行一系列相同的指令。 变量是存储数据的容器,变量有变量名和变量值。
编程是一项需要耐心的工作,首先你必须理解要用程序解决什么样的问题,然后需要将这个问题分解成若干步骤,将每个步骤再分成更小的步骤,直到每个步骤都小得很容易解决了为止。
程序编写好后,可能会存在许多漏洞或缺陷,所以你还需要对程序进行调试,直到程序能正确运行为止。 3.1 程序基本结构
计算机程序是由命令、函数、运算符、条件和循环等结构组成的。 3.1.1 命令、函数和运算符
在此之前,我们都是用关键字来描述ActionScript中的元素,如关键字gotoAndPlay,它也是一个命令。 命令是ActionScript中用来告诉Flash所要执行的特定操作的元素。之所以称之为命令,就是因为它将被严格的遵照执行,如果要用gotoAndPlay跳转到一个不存在的帧,这样的命令就不能被执行。 命令是程序中最基本的元素,在Flash中如果不使用命令,几乎不能进行任何操作。从本书中你将学到很多命令。
函数是ActionScript中用来执行计算和返回结果的元素。例如,一个特定的函数可以计算并返回一个指定数的平方根。
命令和函数都可以使用参数。参数就是传递给命令或函数的一个值。如gotoAndPlay命令就至少需要一个帧编号或帧标签作为参数。求平方根的函数也需要一个数值作为参数。
与命令和函数不同的是运算符,它们主要是一些符号,而不是字母。例如,+运算符执行两数相加的操作。 在ActionScript程序中你将会用到大量的命令、函数和运算符。 3.1.2 变量
要编写复杂的计算机程序往往需要存储很多的信息。有时你可能只需要存储很短暂的时间,例如,如果需
15
云南师范大学计算机科学与信息技术学院教育技术学——杨金平
要重复执行10次相同的命令,你就需要对命令的执行次数进行记数,直到满10次为止。 所有的编程语言都使用变量来存储信息。一个变量由两部分构成:变量名和变量的值。 1.变量名
变量名通常是一个单词或几个单词构成的字符串,也可以是一个字母。总的来说,你需要尽可能地为变量指定一个有意义的名称。
例如,如果你要使用变量存储用户的姓名,用userName作为变量名将是一个很好的选择。如果你使用n作变量名,似乎太短了一点;如果使用name,又可能与影片中其他对象的名称相混淆。
在ActionScript中为变量指定变量名时已经形成了一种不成文的规范,就是变量名通常以小写字母开头,当一个新的单词出现时,大写这个新单词的第一个字母,如userName,长一点的例子如currentUserFirstName。
变量名中不允许出现空格,也不允许出现特殊符号,但是可以使用数字。 2.变量类型
你可以用变量存储不同类型的数据。数字是最简单的变量类型。
你可以在变量中存储两种不同类型的数字:整数和浮点数。整数没有小数点部分,如117、-3685都是整数。浮点数有小数点部分,如0.1、532.23、-3.7都是浮点数。
你也可以在变量中存储字符串,字符串就是由字符组成的序列,可以是一个或多个字符,甚至可以没有字符,即空字符串。
使用引号定义字符串,使其与其他变量相区别。如7是一个数字,而“7”则是一个字符串,这个字符串由一个字符7组成。
在别的编程语言中,你可能需要在程序的开头部分提前定义程序中要用到的变量的具体类型,但在ActionScript中不需要预先声明变量,你只需要直接使用它们,Flash在第一次遇到它们的时候会自动为它们创建变量。
另外,变量所能存放的数据类型也没有严格的限定,某一变量可以在一个位置存放字符串,而在另一个位置存放数字。
这种灵活性并不是经常用得到,但是它可以让程序员们少一些不必要的担心。
ActionScript程序员不必担心的另一个问题是废弃变量的空间回收问题。即当你不再需要使用一个变量的时候,你可能需要收回该变量占用的存储空间。大多数现代的计算机语言如ActionScript都可以自动回收空间,所以你也不必担心了。
除数字和字符串类型外还有一些别的变量数据类型。例如,数组可以存放一系列的数据而非单个数据。 3.1.3 条件
程序本身并不能作出抽象的决定,但是它可以获取数据,并对数据进行分析比较,然后根据分析结果执行不同的任务。
例如,你想要检查用户输入的名字并确定其至少包含3个字母。程序需要做的事情就是对用户名作出判断,如果是3个或更多的字母,就执行一种操作;如果不足3个字母则执行另一种操作。
这里,作出一个决定需要两步,第一步是检查条件是否满足,如果名称符合3个字母长度,条件满足,我们称条件的值为真(true);否则条件不满足,我们称条件的值为假(false)。所有的条件都必须是两个值中的一种,要么为真,要么为假。要么为真(true)要么为假(false)的数据类型称为布尔(boolean)类型。
决定的第二步是根据条件为true或为false的情况选择要执行哪些代码。有时只有一个选项,当条件为true时执行该选项;如果条件为false,将不执行任何代码。有时会有两个相对的选项,条件为true和false时分别执行不同的代码。
例如,你想让计算机根据一个变量的值是1、2或3执行3种不同的任务,可以像这样表达: 如果变量的值等于1,执行命令1 如果变量的值等于2,执行命令2
16