1、FLASH脚本基础入门讲解、按钮AS的编写、影片剪辑的AS编写2010-09-26 15:49:50| 分类:AS2.0课堂| 标签:flash教程|字号大中小订阅由于近段时间装修办公楼,网络不通,老虎学习了“FLASH脚本”文字教程。
走马观花看了一遍。
下载的教程不是源版,里面的插图没了,个别句子不全,还有个别例题既没讲怎么作,也没讲要达到什么效果。
还有些章节没讲透。
总之,老虎觉得这个教程讲得简洁,实用性较强。
希望学习的朋友,根据自己的需要来取舍。
(由于时间紧,有些插图等老虎有空时再插进来)一、FLASH脚本基础入门讲解认识“动作”面板在Flash中,动作脚本的编写,都是在“动作”面板的编辑环境中进行,熟悉“动作”面板是十分必要的。
按【F9】键调出“动作”面板,可以看到“动作”面板的编辑环境由左右两部分组成。
左侧部分又分为上下两个窗口。
左侧的上方是一个“动作”工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。
下方是一个“脚本”导航器。
里面列出了FLA文件中具有关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在“脚本”窗口中,并且场景上的播放头也将移到时间轴上的对应位置上。
双击脚本导航器中的某一项,则该脚本会被固定。
右侧部分是“脚本”编辑窗口,这是添加代码的区域。
可以直接在“脚本”窗口中编辑动作、输入动作参数或删除动作。
也可以双击“动作”工具箱中的某一项或“脚本编辑”窗口上方的【添加脚本】工具,向“脚本”窗口添加动作。
在“脚本”编辑窗口的上面,有一排工具图标,在编辑脚本的时候,可以方便适时的使用它们的功能。
用“动作”面板的时候,可以随时点击“脚本”编辑窗口左侧的箭头按钮,以隐藏或展开左边的窗口。
将左面的窗口隐藏可以使“动作”面板更加简洁,方便脚本的编辑。
好了,动作面板就介绍这些,有个印象,不要求记住,工具栏上每个工具的作用和功能将在以后的课程中边用边熟悉。
如何编写flash中的脚本首先,要知道编写脚本,不需要用户对AS有完全的了解!现在要考虑的问题是,如何在你的flash中添加编写脚本?简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上面的关键帧上面(注意,必须是关键桢上才可以添加脚本)。
二是把脚本编写在对象身上,比如把脚本直接写在MC(影片剪辑元件的实例)上、按钮上面。
此外,大家也需要简单理解一下flash是如何执行你编写的脚本的。
当你在时间轴的关键帧上添加了脚本,那么当flash运行的时候,它会首先执行这个关键桢上的脚本,然后才会显示这个关键桢上的对象。
还有一些简单的知识,AS中的对象都包括什么呢?它可以包含数据,也可以是舞台上的电影剪辑,也可以是舞台上的按钮等。
既然包含了那么多对象,那么每种对象肯定有各自的属性!比如电影剪辑(movieClip)对象,它的:属性就有_height(高度),_rotation(旋转),等,这些属性不需要你去特意的记忆,当使用的时候可以随时翻阅脚本字典。
在以后的教程中会陆续给大家介绍一些基础脚本的使用技巧。
需要学到的基本AS命令如下:stop()、play()、gotoandplay:跳转并播放()、gotoandstop跳转并停止()、nextFrame:运行下一帧()、prevFrame上一帧();、nextScene下一场景()、prevScene 跳至上一个场景并停止();、stopAllSounds停止所有声音();(这些都是“时间轴控制”的内容---老虎注)按钮的AS编写规则:播放on (release:释放) {_root.mc.pl ay();}如果要在按钮身上写脚本的话,必须使用on(事件){//脚本程序}的格式来写!上面的脚本作用就是:当你在这个按钮上按下释放鼠标(release事件)的时候,就会执行下面的_root.mc.play();程序,它的意思是让舞台上的mc开始播放!同理:咱们选中舞台上的暂停按钮,在它上面输入:on (release) {_root.mc.stop()}然后依次在快退上输入:on (release) {_root.mc.prevFrame(); //prevFrame表示回到动画的上一帧}在快进的按钮上输入:on (release) {_root.mc.nextFrame();}在停止的按钮上输入:on (release) {_root.mc.gotoAndStop(1); //跳到mc影片的第一帧,并停止播放!}二、按钮AS的编写在 flash 中的交互功能一般是由按钮来完成的。
掌握按钮的编写规则也是一个闪客的基本技能。
OK,现在咱们来说说按钮脚本如何编写。
上一讲中提过,AS 脚本编写可以写在时间轴的关键帧上,也可以写在对象本身上面。
按钮也不例外,既可以写在时间轴上,也可以写在按钮本身上面。
只不过这两种编写规则都要遵循一定的规矩,这是后话。
现在咱们来做一个例子,做一个按钮,这个按钮要实现的功能就是打开一个指定的网页。
(这个例子非常基础,用这个例子来讲解按钮 AS 两种编写方法。
)第一种:把脚本写在按钮本身。
一、在舞台上绘制一个矩形,选中矩形并按 F8,将这个矩形转换成按钮元件。
二、编写动作脚本:选中按钮,按 F9,打开动作面板,在专家模式下输入以下脚本:on(release){getURL("/","_blank")}现在这个按钮就实现了一个打开网页的功能。
通过例子你应该注意到,按钮的 AS 书写规则就是:on(事件){//要执行的脚本程序,刚才的例子是用 getURL 来打开一个网页。
你也可以使用脚本程序来执行其他功能,例如跳转到某一个帧,或载入外部一个动画文件。
}可以看到,其实就一个 on语句,这个 on语句就是按钮的 AS 编写规则了。
需要注意的是 on 里面的事件,这个事件你可以理解为是鼠标或键盘的动作。
刚才的例子我们使用的事件是 release(释放鼠标)我现在把常用的按钮事件列出来:事件名字说明Press 事件发生于鼠标在按钮上方,并“按下”鼠标Release 发生在按钮上方按下鼠标,接着松开鼠标时。
也就是“释放”鼠标Releaseoutside 发生于在按钮上方按下鼠标后,接着把光标移动到按钮之外,Rollover 当鼠标“滑过”按钮时Rollout 当鼠标“滑离”按钮时Dragover 发生于按着鼠标不放,光标滑入按钮即“拖过”Dragout 发生于按着鼠标不放,光标滑出按钮即“拖离”Keypress 发生于用户按下特定的键盘按键时第二种:把脚本写在时间轴上。
这种方法是把脚本程序写在时间轴上,而不是按钮本身上面。
一、选中按钮,在下面的属性面板中为按钮起一个名字,这里我起了一个 bt二、选中时间轴的第一帧,按 F9 打开动作面板。
输入如下脚本:bt.onrelease = function() {getURL("http:// /", "_blank");};这种编写 AS 的方法要遵循的规则就是下面的公式而已:按钮实例的名字.事件名称=function(){//要执行的脚本程序。
}大家只要记住这个公式就可以套用了。
按钮的 AS 就先将到这了,这个可以算是基本技能了。
希望大家都能掌握。
三、影片剪辑的AS编写影片剪辑在flash中可以说是使用最多的一种元件了,那么对于它的AS也是不少。
在讲解之前,我还是要重新说一下电影剪辑AS 的编写规则,和上次讲按钮一样,分为两种,一种是写在电影剪辑本身上,一种是写在时间轴上面。
首先我们先来做个简单的小例子。
或许你不用 AS 就能做出一个小球的移动动画。
但是如果让你用 AS 来实现小球的移动呢?下面来看看如何用 AS 来实现吧。
在这个例子里,你首先会了解到如何在电影剪辑本身上编写 AS,以及编写规则。
1、新建立一个影片剪辑元件,里面你就随便画一个圆吧。
之后把这个影片剪辑拖放到舞台之中(也就是创建一个此影片剪辑的实例)。
2、现在开始编写脚本,选中这个 MC,按 F9 打开动作面板,按照图 01 显示选择 onClipEvent,之后在显示的事件中选择 enterFrame,然后在里面编写脚本如下:this._x+=5这个脚本编写之后应该是:onClipEvent (enterFrame) {// enterFrame的意思四以影片帧频不断地触发此动作this._x += 5; //this 代表这个影片剪辑自身。
_x 表示影片剪辑的X 轴坐标。
}呵呵,按下你的 ctrl+回车测试一下吧,一个简单的移动动画就搞定了。
从这个例子咱们不难看出,如果把 AS 写在影片剪辑本身上,那么它是有自己的书写格式的。
正确的书写格式就是:onClipEvent (事件) {//需要执行的脚本程序}这个可以看成是公式,你记住就行了,是写在影片剪辑身上的。
括号里的“事件”其实是个触发器,当事件发生时,执行该事件后面花括号中的语句。
,具体有哪些事件,我把它们都列出来:- load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。
- unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。
处理与Unload 影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。
- enterFrame 以影片帧频不断地触发此动作。
- mouseMove 每次移动鼠标时启动此动作。
_xmouse 和 _ymouse 属性用于确定当前鼠标位置。
- mouseDown 当按下鼠标左键时启动此动作。
- mouseUp 当释放鼠标左键时启动此动作。
- keyDown 当按下某个键时启动此动作。
使用 Key.getCode 方法获取最近按下的键的有关信息。
- keyUp 当释放某个键时启动此动作。
使用 Key.getCode 方法获取最近按下的键的有关信息。
- data 当在 loadVariables 或 loadMovie 动作中接收数据时启动此动作。
当与loadVariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时。
当与loadMovie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生。
了解了事件之后,你可以自己试着修改一下脚本,如果让你们点一下鼠标,舞台上的圆就移动一下,该怎么做呢?关于把 AS 写在影片剪辑本身的例子先讲到这,下面来看看如果把 AS 写在时间轴上面的话,应该怎么写。
首先你把刚才的脚本去掉。
然后需要为这个影片剪辑实例起一个名字,比如起名为 mc ,再选中时间轴的第一桢,打开动作面板,输入以下脚本:mc.onEnterFrame = function() {this._x += 5; //你也可以把这句改为 mc._x+=5 自己想一下为什么。