Flash Action Script 入门

作者:我就是个世界 发表于:2008-05-28
来源: [url=http://www.edudown.net/Article/xuexi/200607/6314.html]中小学教育资源站[/url]

序:看了网上许多AS教程,对于刚刚接触AS的朋友来说总觉得很困难,很多教程讲解的不够透彻或者过于深奥,往往将初学者拒之门外,于是萌生了写AS初级教程这个想法,希望能够抛砖引玉,或者作为人梯,为初学者入门奠定基础。

    还是先从 Flash的起源说起吧,因为有一次我在某个论坛闲聊,一网友鼓吹他的Flash动画做得很好,已经玩了十几年了,许多人都瞪大了眼睛在听,独我不信。因为我知道Flash最初推出的时间是1996年,至今尚未满10年。Flash的前身叫FutureSplash,是早期网上流行的一种动画插件。后来Macromedia公司收购了FutureSplash并给它改了个响亮的名字:Flash。从1996年面市至今,Flash已发展到了7.0版。而且随着功能的不断加强,Flash再也不是以前的小插件,一跃成为互联网动画制作新生力量的代言人。呵呵,都是题外话,不说了。

   还是切入正题吧。现在大家学习Flash的热情非常高,前面的基础知识比较容易上手,呵呵。大家谈论最多的就是AS了,觉得这玩意儿像是一堵山,不可逾越。其实没那么复杂,A着,Action 也,[separator]动作的意思,S者,Script也,脚本。明白了吗?呵呵。用最简单的一句话定义:AS是一种脚本语言。如果大家以前接触过高级语言,如BASIC或C语言等,掌握AS易如反掌,因为AS算不上一种高级语言,其功能也远没有其他高级语言那么强大。呵呵,先吃个定心丸,别吓跑了。大家之所以觉得学习起来有点难,我分析主要有两个原因。其一,没接触过语言,不了解编程思想。其二,英语了解的少,基本单词不认识。呵呵,怪不得你,是美国佬可恶,干吗1946年发明计算机的时候用英语而不用中文呢,否则我们用起来就不用学了。哈哈……

    说了这么多废话,就是为了增加大家的信心,好,我们就从一个最简单的实例开始吧,先看懂语句再说。OK! Let’s Go!

   首先看一个例子,简单的控制影片剪辑的播放、暂停、快进、快退、停止。

   1、打开FLASH,按Ctrl+F8新建一个元件ball,行为选图形,单击确定。选择工具箱中的椭圆工具,按住shift键在工作区随便画一个圆。然后再按Ctrl+F8新建一个元件mc,行为选影片剪辑,单击确定。然后按Ctrl+L打开库面板,在第一桢将元件ball拖入到舞台,在30桢处插入按F6插入关键桢,调整小球位置并创建动作补间。

   2、回到舞台工作区,将库中影片剪辑mc拖到舞台中,并给这个实例起个名字,就叫mc吧,这时候你可以按Ctrl+Enter测试,可以看到小球在一直不停的移动。呵呵,最简单的,不需说明了。如图所示。

    

[img]http://www.edudown.net/Article/UploadFiles/200607/20060705204201540.jpg[/img]

                

    3、添加脚本,现在要让这个mc在影片一开始不要自动播放,不然怎么来控制它呢。咱们把脚本写在时间轴的关键桢上。选中时间轴的第一桢,按F9打开动作面板,选择专家模式,输入:_root.mc.stop();如图2所示。

                

[img]http://www.edudown.net/Article/UploadFiles/200607/20060705204226321.jpg[/img]

     有的同学或许会问,什么意思啊?别急,呵呵,做完我详细说明。

    4、现在咱们来制作几个按钮,分别表示播放、暂停、前进、后退、停止。并摆放在舞台上。关于按钮的制作方法我就不多介绍。咳,就偷点懒吧,呵呵。打开窗口菜单,选择其他面板-公用库-按钮命令,呵呵,这么多东东啊,不用真是可惜。在库中双击打开Playback文件夹,将gel right、 gel Pause 、gel Fast Forward 、gel Rewind 、gel Stop 按钮分别拖到舞台中,并依次摆好顺序和位置。如果你想放的美观一点,可以按Ctrl+K打开对齐面板,注意不要选择相对于舞台,然后用选择工具框选所有按钮,单击对齐面板的底对齐和水平居中分布即可。

    5、 现在要添加控制影片的脚本。这次把脚本直接写在舞台上这些按钮的身上。选中播放按钮,按F9打开动作面板,输入:


[code]on (release) {

_root.mc.play();

} [/code]

   如果要在按钮身上写脚本的话,必须使用on(事件){//脚本程序}的格式来写!上面的脚本作用就是:当你在这个按钮上按一下鼠标(release事件)的时候,就会执行下面的_root.mc.play();程序,它的意思是让舞台上的mc开始播放!

    6、同理:咱们选中舞台上的暂停按钮,在它上面输入:


[code]on (release) {

_root.mc.stop()

} [/code]

   然后依次在快退上输入:


[code]on (release) {

_root.mc.prevFrame(); //prevFrame表示回到动画的上一桢

} [/code]

   在快进的按钮上输入:


[code]on (release) {

_root.mc.nextFrame();

} [/code]

   在停止的按钮上输入:


[code]on (release) {

_root.mc.gotoAndStop(1); //跳到mc影片的第一桢,并停止播放!

} [/code]

   好了,到现在为止就结束啦,你可以按Ctrl+Enter测试一下你的成果了,呵呵。

     完了吗,没有,呵呵,好戏才刚刚开始。下面我就具体来讲一讲AS语句的常用的语法及添加方法。呵呵,别不耐烦啊。我们先来看刚才输入的最简单的一个语句

    
[code]_root.mc.stop()[/code]

这个语句的意思大家都知道,呵呵.就是让舞台上的影片剪辑mc停止播放。这里_root指的是舞台,实际上说主时间轴更确切。mc是刚才我们定义的影片剪辑的实例名。stop就不用说了,关键是里面的小不点“.”,可别小看它哦,作用可大了。官方的定义是“运算符;用于定位影片剪辑的层次结构,以便访问嵌套的(子级)影片剪辑、变量或属性。点运算符也用于测试或设置对象的属性、执行对象的方法或创建数据结构。”也就是说“.”的作用主要有二:一是用来定位影片剪辑的层次结构,比如中国人民解放军.女子防暴队.鸿燕(^_^,别打我啊)。体现到具体AS语句就是大家看到的

     _root.mc

二是用来设置影片剪辑的属性或方法。那么什么是属性呢?简单的说属性就是对象本身所具有的特征,如名称、大小、位置、方法等。比如鸿燕身高1.8米,这里对象(鸿燕)的属性(身高)值为1.8米。体现到具体的AS语句如

     _root.mc._x=100 //设置舞台上mc(对象)的横坐标(属性)为100(值)

方法则可以看作是对象所作的动作。比如鸿燕(对象)唱歌(方法),体现到具体语句可以是

     _root.mc.stop() //设置舞台上的影片剪辑mc(对象)停止(方法)

这里需提醒大家注意的是语句要在英文状态下输入。

    第二个要考虑的问题是,如何在你的flash中添加编写脚本?简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上面的关键桢上面(注意,必须是关键桢上才可以添加脚本)。二是把脚本编写在对象身上,比如把脚本直接写在MC(影片剪辑元件的实例)上、按钮上面。如果你要将AS语句添加到关键桢上,就要先选中关键桢,然后打开动作面板,输入AS语句;如果你要把脚本编写在对象身上,就先选中对象,再输入AS语句。至于如何具体输入,随各人爱好吧,我不作勉强,你可以使用动作面板,如图3。

          

[img]http://www.edudown.net/Article/UploadFiles/200607/20060705204507357.jpg[/img]

也可以选中对象后按F9直接在专家模式下书写,见图2。呵呵,太简单了,因为今天我主要讲方法。

    大家要注意在时间轴上添加AS脚本和在实例上添加AS格式是不同的,为了说明这个问题,我再举一个简单的例子。

    打开Flash,新建一个文档,从公用按钮库中拖一个按钮到舞台中,我们要用这个按钮来打开指定的网页,比如闪客启航。下面我分别用这两种方法来实现。

    方法一、把脚本加在按钮上

    在舞台上单击选中按钮,按F9键打开动作面板,输入以下语句:

  
[code]on(release){

        getURL(http://goldflash.lpscn.com,"_blank")

    }[/code]

    这个语句的意思是当释放鼠标按键时在新窗口中打开金闪客论坛。这里on表示事件触发的条件,可以理解为“当

……的时候”。现在这个按钮就实现了一个打开网页的功能。通过例子你应该注意到,按钮的AS书写规则就是:

on(事件){

//要执行的脚本程序,刚才的例子是用getURL来打开一个网页。你也可以使用脚本程序来执行其他功能,例如跳转到某一个桢,或载入外部一个动画文件。

}

   大可以看到,其实就一个on语句,这个on语句就是按钮的AS编写规则了。需要注意的是on里面的事件,这个事件你可以理解为是鼠标或键盘的动作。刚才的例子我们使用的事件是release(按一下鼠标)我现在把常用的按钮事件列出来:

[quote]   事件名字     说明

   Press       事件发生于鼠标在按钮上方,并按下鼠标

   Release      发生在按钮上方按下鼠标,接着松开鼠标时。也就是“按一下”鼠标

   Releaseoutside  发生于在按钮上方按下鼠标,接着把光标移动到按钮之外,然后松开鼠标

   Rollover     当鼠标滑入按钮时

   Rollout      当鼠标滑出按钮时

   Dragover     发生于按着鼠标不放,光标滑入按钮

   Dragout      发生于按着鼠标不放,光标滑出按钮

   Keypress     发生于用户按下特定的键盘按键时 [/quote]

    方法二、把脚本程序写在时间轴上

    

     1、 选中按钮,在下面的属性面板中为按钮起一个实例名button

   2、 选中时间轴的第一桢,按F9打开动作面板。输入如下脚本:


[code]button.onRelease = function() {

getURL("http://goldflash.lpscn.com","_blank");

}; [/code]

   这种编写AS的方法要遵循的规则就是下面的公式而已:

按钮实例的名字.事件名称=function(){

//要执行的脚本程序。

}

   这里需要提醒大家注意的是字母大小写问题。on和release本来是两个英文单词,当写在一起组成事件时,第一个单词无须大写,但后面的单词第一个字母一定要大写,否则会出错,再如gotoAndPlay等。

     好了,今天就讲到这里了,至于AS中的其他知识如常量、变量、函数以及其他语法结构以后有时间再讲吧。

分享:

扫一扫在手机阅读、分享本文

请发表您的评论