第一讲 Who Where How
大家好,首先感谢大家在酷暑中和我一起学习AS!因为天气实在太热,讲课的内容尽可能精简,今天是第一课,我用三个英文单词来概括:Who Where How。
一、Who
我们先来解决第一个问题-Who,什么是AS?
大家知道,FLASH是一个功能强大的动画制作软件,您不必使用AS就可以使用 Flash,但是,如果您要提供与用户的交互性、使用除内置于 Flash 中的对象之外的其它对象(例如按钮和影片剪辑)或者令您的 SWF 文件更适合于用户使用,可能还是要使用AS。简而言之,就是说使用AS可以创建具有交互功能的动画。
AS是英文ActionScript的缩写。Action,动作,行为;Script,手迹,手稿,这里我们引申为脚本。合起来就是大家常说的动作脚本。Flash早期版本中的脚本非常简单,直到Flash 4,才具有了标准的程序结构,如条件结构、循环结构等。但是Flash脚本仍然需要使用下拉菜单和空白文本框添加,几乎还不能叫做一种编程语言。在Flash 5中,ActionScript 出现了翻天覆地的变化,基本语法都经过了改写,有点和JavaScript类似,风格也从面向过程转变到了面向对象,提供了自定义的函数以及新增了强大的数学函数、颜色、声音以及XML等对象的支持。使得编程更加得心应手,能够做出更多酷炫的效果,和用户的交互也得到了进一步的提高。 Flash MX推出之后,它的ActionScript以Flash 5的ActionScript为基础,整个语法体系以及编程风格、界面都没有做很大的改动,只是在某些函数、对象的实现上做了扩充,新增了一些方法,提供了更为强大的对象支持。Flash MX 2004对ActionScript再次进行了全面改进,2.0版横空出世,ActionScript终于发展成为真正意义上的专业级的编程语言。
二、Where
第二个问题是Where,也就是在哪儿添加AS。一般情况下,我们用AS来实现对动画的控制时,脚本通常添加在时间轴的关键桢(或空白关键桢)上或者元件(按钮、影片剪辑)本身上。这里提醒大家注意两点:第一,添加脚本时遵循“先选中,后添加”的原则;第二,添加在关键桢上和添加在元件上这两种方法书写格式不同。
下面这个实例演示了用按钮来实现页面跳转。
1、添加在按钮上
选中按钮,打开动作面板,输入语句
on (release) {
getURL(http://goldflash.lpscn.com;);
}
2、添加在时间轴的关键桢上,选中按钮,在属性面板中输入按钮实例名btn。
然后选中时间轴第一桢,打开动作面板,输入语句
btn.onRelease = function() {
getURL(http://goldflash.lpscn.com;);
};
大家可以看到,这两种方法书写格式不同,但实现的功能完全相同。
三、How
第三个问题要解决如何添加动作脚本。
当然,选中要添加语句的对象后第一步你要打开动作面板,你可以使用“窗口”-“开发面板”-“动作”菜单命令,
也可以直接单击动作面版
更简单的方法是直接按快捷键F9。
第二步要在脚本输入区输入脚本。
如果你对AS比较熟悉,你可以在脚本输入区直接输入;
也可以从动作列表中找到相应的命令直接拖动到脚本窗口或者双击直接添加到脚本窗口。
除此之外,今天再给大家介绍另外一种方法,就是使用行为面板。选中要添加AS的对象后打开行为面板,这里仍以场景中按钮为例。选中按钮,单击“添加”按钮,选择“Web-转到Web页”命令,
弹出“转到URL”对话框
在URL文本框中输入要跳转的页面,如http://goldflash.lpscn.com在打开方式下拉列表框选择相应的打开方式即可。
第二讲 Look and See
很多朋友在学习AS时喜欢从实例入手,从网上Down了大堆的源码,然后把AS代码原封不动地Copy到脚本窗口,却往往做不出效果。即使效果做出来了,也不知所以然,下次再遇到类似问题还是不能解决。因为大家还没有理解和掌握语句的基本用法和含义。今天我们就来说说如何看懂AS语句。
我用这个标题包含两重含义,首先是看(Look),看后你会说“哦,我懂了”(Yes,I see!)。要达到这个目的并不容易,这里涉及到许多编程思想,函数、变量、表达式等概念以及基本语法。遗憾的是我们没有时间和精力为大家逐一讲解每个语句的详细用法,也没有这个必要。我想做的也是我能做的就是引导大家掌握学习AS的方法,掌握学习方法往往比掌握一百个实例更重要。
我们仍以上节课的简单实例为例,用一个实例名为btn的按钮来实现页面的跳转。写在时间轴上的语句为
btn.onRelease = function() {
getURL(http://goldflash.lpscn.com);
};
这个例子很简单,但麻雀虽小,五脏俱全。它包含了ActionScript常用的一些基本语法规则。
一、基本语法规则
1、点语法
在ActionScript中,点(.)被用来指明与某个对象或电影剪辑相关的属性和方法。它也用标识指向电影剪辑或变量的目标路径。点语法表达式由对象或电影剪辑名开始,接着是一个点,最后是要指定的属性、方法或变量。也就是说“.”的作用主要有二:一是用来定位影片剪辑的层次结构,如 _root.mc;二是用来设置影片剪辑的属性或方法。那么什么是属性呢?简单的说属性就是对象本身所具有的特征,如名称、大小、位置、方法等。如 _root.mc._x=100 //设置舞台上mc(对象)的横坐标(属性)为100(值)。方法则可以看作是对象所作的动作。如_root.mc.stop() //设置舞台上的影片剪辑mc(对象)停止(方法)。
2、大括号
ActionScript语句用大括号({})分块,语句体写在一对大括号之间。这里提醒大家注意大括号是成对出现的。
3、分号
ActionScript语句用分号(;)结束,但如果你省略语句结尾的分号,不影响脚本运行。
4、圆括号
圆括号的用法主要有二:其一用来控制表达式中运算符的执行顺序。括号覆盖正常的优先级顺序,从而导致先计算括号内的表达式。如果括号是嵌套的,则先计算最里面括号中的内容,然后计算较靠外括号中的内容。
下面的语句举例说明用括号控制表达式执行顺序的方法。每个表达式的值显示在每行的下面,如下所示:
trace(2 + (3 * 4) + 5);
// 显示 19
其二是括住一个或多个参数并将它们作为参数传递给括号外的函数。setProperty("star", _alpha, "30");
5、大小写字母
在ActionScript中,只有关键字区分大小写。对于其余的ActionScript,可以使用大写或小写字母。如果在书写关键字时没有使用正确的大小写,你的脚本将会出现错误。比如上例中
btn.onRelease = function()
如果写成
btn.onrelease = function()
就是错误的。在动作面板中启用彩色语法功能时,用正确的大小写书写的关键字用蓝色区别显示,因而很容易发现关键字的拼写错误。
6、 注释
在Actions面板中选择comment(注释)动作时,字符//被插入到脚本中。如果在用户创建脚本时加上注释,会使脚本易于理解:
on(release)
{
// 建立新的日期对象
myDate = new Date ();
currentMonth = myDate.getMonth ();
// 把用数字表示的月份转换为用文字表示的月份
monthName = calcMonth(currentMonth);
year = myDate.getFullYear ();
currentDate = myDate.getDat ();
}
在脚本窗口,注释内容用灰色显示。它们的长度不限,且不影响导出文件的大小。
二、使用帮助
学会使用帮助是学习软件的最有效的方法。最了解软件功能作用的莫过于开发者本人了,而软件帮助系统多数是由开发商提供的。FLASH同样提供了一整套功能强大的内置帮助系统,而且内容非常详尽。
大家在学习AS时可以参考动作脚本参考指南和动作脚本字典。比如你在阅读源码时遇到一个函数setProperty(),而你并不知道这个函数如何使用,这时你就可以查动作脚本字典。在帮助列表框内展开动作脚本字典,然后展开以字母S开头的关键字列表,就可以看到这个函数了,选中这个函数后,右边窗口便列出了这个函数的具体用法。
还有一种更简洁的方法,比如你已该函数输入到脚本窗口,你可以直接选中该函数,
然后单击脚本窗口右上角的脚本参考按钮,直接打开帮助面板。
了解了一些AS的基本语法并且学会如何使用帮助后,你会发现,原来学习AS并不困难。