《交互动画》PPT课件.ppt

上传人:小飞机 文档编号:5458041 上传时间:2023-07-09 格式:PPT 页数:68 大小:1.27MB
返回 下载 相关 举报
《交互动画》PPT课件.ppt_第1页
第1页 / 共68页
《交互动画》PPT课件.ppt_第2页
第2页 / 共68页
《交互动画》PPT课件.ppt_第3页
第3页 / 共68页
《交互动画》PPT课件.ppt_第4页
第4页 / 共68页
《交互动画》PPT课件.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《《交互动画》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《交互动画》PPT课件.ppt(68页珍藏版)》请在三一办公上搜索。

1、第4章 交互动画,初识动作脚本动画的跳转控制按钮交互的实现创建链接浏览器控制声音的控制影片剪辑的播放和控制键盘控制ActionScript 3.0的应用,本章重点:,与许多动画制作工具相比,Flash动画有一个最大的特点就是具有强大的交互性,浏览者在观赏动画的同时,可以自由控制动画的播放进程。通过本章学习应掌握一下内容:,4.1初识动作脚本,动画脚本是Flash具有强大交互功能的灵魂所在。它是一种编程语言,Flash CS3有两种版本的动作脚本语言,分别是ActionScript 2.0和ActionScript 3.0,动画之所以具有交互性,是通过对按钮、关键帧和影片剪辑设置移动的“动作”来

2、实现的,所谓“动作”指的是一套命令语句,当某事件发生或某条件成立时,就会发出命令来执行设置的动作。执行菜单中的“窗口|动作”命令(快捷键F9),可以调出“动作”面板,如图4-1所示。,动作工具箱是浏览ActionScript语言元素(函数、类、类型等)的分类列表,包括全局函数、全局属性、运算符、语句、ActionScript 2.0类、编译器指令、常数、类型、否决的、数据组件、组件、屏幕和索引等,单击它们可以展开相关内容,如图4-2所示。双击要添加的动作脚本即可将它们添加到右侧的脚本窗口中,如图4-3所示。,1.动作工具箱,图4-2展开相关内容,图4-3将动作脚本添加到右侧的脚本窗口中,2.脚

3、本导航器,脚本导航器用于显示包括脚本的Flash元素(影片剪辑、帧和按钮)的分层列表。使用脚本导航器可在Flash文档中的各个脚本之间快速移动。如果单击脚本导航器中的某一项目,则与该项目相关联的脚本将显示在脚本窗口中,并且播放头将移动到时间轴上的相关位置。如果双击脚本导航器中的某一项,则该脚本将被固定(就地锁定)。可以通过单击每个选项卡在脚本间移动。,脚本窗口用来输入动作语句,除了可以在动作工具箱中通过双击语句的方式在脚本窗口中添加动作脚本外,还可以在这里直接用键盘进行输入。,3.脚本窗口,4.2 动画的跳转控制,关于动画的跳转控制,我们通过下面的实例进行讲解,具体操作步骤如下:1)打开配套光

4、盘中“素材及结果|4.2 动画的跳转控制|动画跳转控制-素材.fla”文件。2)单击时间轴下方的(插入图层)按钮,新建“图层2”。然后在第20帧按快捷键F6,插入关键帧,如图4-4所示。3)执行菜单中的“窗口|动作”面板,调出动作面板,然后双击“全局函数”下的stop,此时在右侧脚本窗口中显示出脚本“stop()”,结果如图4-5所示。,图4-4在“图层2”的第20帧插入关键帧 图4-5 右侧脚本窗口显示出“stop()”,4)执行菜单中的“控制|测试影片”命令,即可看到当动画播放到第20帧时,动画停止的效果。5)测试完毕后,关闭动画播放窗口,此时会发现在“图层2”的第20帧多出了一个字母“a

5、”,如图4-6所示,它表示在该帧设置了动作脚本。,图4-6在“图层2”的第20帧多出了一个字母“a”,6)制作动画播放到结尾再跳转到第1帧循环播放的效果。方法:在“图层2”的第20帧,打开动作面板,删除动作脚本“stop”,然后用鼠标双击左侧“时间轴控制”类别中的“gotoAndPlay”,再在右侧的括号中输入1,如图4-7所示。该段脚本表示当动画播放到结尾时,自动跳转到第1帧继续播放,如图4-7所示。,图4-7设置动作脚本gotoAndPlay(1),7)制作动画播放到结尾再跳转到第1帧并停止播放的效果。方法:在“图层2”的第20帧,打开动作面板,删除动作脚本“gotoAndPlay(1)”

6、,然后用鼠标双击左侧“时间轴控制”类别中的“gotoAndStop”,再在右侧的括号中输入1,如图4-8所示。该段脚本表示当动画播放到结尾时,自动跳转到第1帧并停止播放。,图4-8设置动作脚本gotoAndStop(1),Flash中还有许多时间轴控制的动作脚本,它们的用法都是一样的,下面列出了一些常用时间轴控制脚本。,gotoAndPlay一般用法:gotoAndPlay(场景,帧数);作用:跳转到指定场景的指定帧,并从该帧开始播放,如果要跳转的帧为当前场景,可以不输入“场景”参数。参数介绍如下:场景:跳转至场景的名称,如果是当前场景,就不用设置该项。帧数:跳转到帧的名称(在“属性”面板中设

7、置的帧标签)或帧数。举例说明:当按下被添加了“gotoAndPlay”动作脚本的按钮时,动画跳转到当前场景的第15帧,并从该帧开始播放的动作脚本:on(press)gotoAndPlay(15);举例说明:当按下被添加了“gotoAndPlay”动作脚本的按钮时,动画跳转到名称为“动画1”的场景的第15帧,并从该帧开始播放的动作脚本:on(press)gotoAndPlay(“动画1”,15);,gotoAndStop一般用法:gotoAndStop(场景,帧数);作用:跳转到指定场景的指定帧并从该帧停止播放,如果没有指定场景,那么将跳转到当前场景的指定帧。参数介绍如下:场景:跳转至场景的名称

8、,如果是当前场景,就不用设置该项。帧数:跳转至帧的名称或数字。,nextFrame()作用:跳转到下一帧并停止播放。举例说明:按下一个按钮时,跳转到下一帧并停止播放的动作脚本:on(press)nextFrame();,preFrame()作用:跳转到前一帧并停止播放。举例说明:按下一个按钮时,跳转到前一帧并停止播放的动作脚本:on(press)preFrame();,nextScene()作用:跳转到下一个场景并停止播放。,preScene()作用:跳转到前一个场景并停止播放。,play()作用:使动画从当前帧开始继续播放。在播放动画时,除非另外指定,否则从第1帧开始播放。如果动画播放进程被

9、“跳转”或者“停止”,那么需要使用“play()”语句才能重新播放。,stop()作用:停止当前播放的电影,该动作脚本常用于使用按钮控制影片剪辑。举例说明:当需要某个影片剪辑在播放完毕后停止并不是循环播放,则可以在影片剪辑的最后一帧附加“stop()”动作脚本。这样,当影片剪辑中的动画播放到最后一帧时,播放将立即停止。,stopAllSounds()作用:是当前播放的所有声音停止播放,但是不停止动画的播放。需要注意的是,被设置的流式声音将会继续播放,在“4.6 声音的控制”中我们将会详细应用。举例说明:当按下按钮时,影片中的所有声音将停止播放的动作脚本:on(press)stopAllSoun

10、ds();,4.3 按钮交互的实现,除了在关键帧中可以设置动作脚本外,在按钮中也可以设置动作脚本,从而实现按钮交互动画。下面我们通过一个实例进行讲解,具体操作步骤如下:1)打开配套光盘中“素材及结果|4.3 按钮交互的实现|按钮交互的实现-素材.fla”文件。提示:该素材的第1帧被添加了“stop()”动作脚本。因此为静止状态。2)创建名称为“游戏室内场景”和“游戏室外场景”的两个按钮元件,如图4-9所示。,图4-9创建两个按钮元件,3)单击时间轴下方的(插入图层)按钮,新建“图层2”。然后将库面板中的“元件1”按钮拖入舞台,放置位置如图4-10所示。接着在“图层2”的第10帧按快捷键F7,插

11、入空白关键帧,再将库面板中的“元件2”按钮拖入舞台,放置位置如图如图4-11所示。,图4-10将“元件1”按钮拖入舞台 图 4-11在第10帧将“元件2”按钮拖入舞台,4)设置按下“元件1”(即“游戏室外场景”)按钮的跳转到第10帧画面的效果。方法:右键单击第1帧舞台中的“元件1”按钮,从弹出的快捷菜单中选择“动作”命令,然后从弹出的“动作”面板中设置动作脚本为:on(press)gotoAndStop(10);5)设置按下“元件2”(即“游戏室内场景”)按钮的跳转到第1帧画面的效果。方法:单击第10帧舞台中的“元件2”按钮,然后在“动作”面板中设置动作脚本为:on(press)gotoAnd

12、Stop(1);,6)执行菜单中的“控制|测试影片”命令,即可看到按下“游戏室外场景”按钮后跳转到第10帧的画面,按下“游戏室内场景”按钮后跳转到第1帧画面的效果。按钮除了响应按钮事件,还可以响应以下8种按键事件:press:事件发生于鼠标在位于按钮上方,并按下鼠标时。lrelease:事件发生于鼠标位于按钮上方按下鼠标,然后松开鼠标时。lreleaseOutside:事件发生于鼠标位于按钮上方并按下鼠标,然后将鼠标移到按钮以外区域,在松开鼠标时。rollOver:事件放生于鼠标移到按钮上方时。rollOut:事件放生于鼠标移出按钮区域时。dragOver:事件发生于按住鼠标不松手,然后将鼠标

13、移到按钮上方时。dragOut:事件发生于按住鼠标不松手,然后将鼠标移出按钮区域时。keyPress:事件发生于用户按钮键盘上某个键时,其格式为keyPress“”。触发事件列表中列举了常用的键名称,比如:keyPress“”,表示按下键盘上的向左方向按钮时触发事件。,4.4 创建链接,在大多数网页中,我们常常看到“使用帮助”、“与我联系”等类的文字,单击这些文字可链接到指定的网页,如图4-12所示。本节将具体讲解网站中常见的多种链接的方法。,图4-12链接页面效果,4.4.1 创建文本链接,对于创建文本链接,我们将通过下面的实例来具体说明,具体操作步骤如下:1)打开配套光盘中“素材及结果|4

14、.4 创建链接|创建文本链接-素材.fla”文件。2)单击时间轴下方的(插入图层)按钮,新建“文本链接”层。然后选择工具箱中的(文本工具),在舞台中单击鼠标,接着在属性面板中设置文本类型为“静态文本”、字体为“幼圆”、字体大小为12,颜色为#FF0000,再在舞台中分别输入文字“教学课堂”,如图4-13所示。,图4-13输入文字“教学课堂”,3)同理,输入文字“使用帮助”和“联系我们”。4)对齐三组文字文字。方法:利用(选择工具),配合Shift键同时选择三组文字,然后按快捷键Ctrl+K,打开对齐面板,单击(左对齐)和(垂直居中对齐)按钮,如图4-14所示,结果如图4-15所示。,图4-14

15、设置对齐参数 图4-15对齐后的文字效果,5)创建文字“教学课堂”的文本链接。方法:在舞台中选择文字“教学课堂”,然后在属性面板后的文本框中输入链接地址,并在“目标”后的下拉列表框中选择“_blank”,如图4-16所示。,图4-16创建文字“教学课堂”的文本链接,提示:“目标”下拉列表框中有4个选项。“_blank”,表示在新的浏览器中加载链接的文档;“_parent”,表示在父业或包含该链接的窗口中加载链接的文档;“_self”,表示将链接的文档加载到自身的窗口中;“_top”,表示将在整个浏览器窗口中加载链接的文档。6)同理,创建文字“使用帮助”的文本链接,并在“目标”后的下拉列表框中选

16、择“_blank”,如图4-17所示。,图4-17创建文字“使用帮助”的文本链接,7)执行菜单中的“控制|测试影片”(快捷键Ctrl+Enter)命令,打开播放器,即可测试单击“教学课堂”和“使用帮助”文字后跳转到所链接的网站效果。,创建邮件链接,创建邮件链接的具体操作步骤如下:1)在舞台中选择文字“联系我们”,然后在属性面板 后的文本框中输入邮件链接地址,并在“目标”后的下拉列表框中选择“_self”,如图4-18所示。,图4-18创建文字“联系我们”的邮件链接,2)执行菜单中的“控制|测试影片”(快捷键Ctrl+Enter)命令,打开播放器,此时单击文字“联系我们”后没有任何效果,这是因为

17、在swf动画中,单击邮件链接是不会有相应的,但并不等于说邮件链接没有做好。下面使用浏览器来预览一下。方法:执行菜单中的“文件|发布预览|HTML”命令,打开浏览器,然后单击文字“联系我们”,启动Outlook Express,如图4-19所示。接着就可以撰写邮件并发送,,图4-19启动OutlookExpress,4.4.3 创建按钮链接,在网站中,导航的对象不一定都是文字,有时候会是图形。在这种情况下就需要将图形转换为按钮,利用Flash提供的动作脚本完成网页或邮件的链接。下面通过一个实例来具体讲解将文字转为按钮,并创建按钮链接的方法,具体操作步骤如下:1)删除前面创建的文字“语音课堂”、“

18、使用帮助”和“联系我们”三组文字的文本链接。2)选择舞台中的文字“语音课堂”,然后执行菜单中的“修改|转换为元件”(快捷键F8)命令,在弹出的“转换为元件”对话框中设置如图4-20所示,单击“确定”按钮。3)双击舞台中的“教学课堂”按钮元件,进入按钮编辑模式。然后选中“点击”帧,按快捷键F6,插入关键帧,接着利用(矩形工具)绘制出按钮的相应区,如图4-21所示。,图4-20设置“转换为元件”参数 图4-21在“点击”帧绘制矩形作为相应区,4)创建“教学课堂”按钮的链接。方法:单击按钮,回到场景1,然后右键单击舞台中的“教学课堂”按钮,从弹出的快捷菜单中选择“动作”命令,接着在弹出的“动作”面板

19、中设置动作脚本为:on(release)getURL(http:/,_blank);5)同理,将文本“使用帮助”转换为“使用帮助”按钮。然后选择舞台中的“使用帮助”按钮,在“动作”面板中设置动作脚本为:on(release)getURL(http:/,_blank);6)创建“联系我们”按钮的邮件链接。方法:将文本“联系我们”转换为“联系我们”按钮,然后选择舞台中的“联系我们”按钮,在“动作”面板中设置动作脚本为:on(release)getURL(mailto:);,7)执行菜单中的“文件|发布预览|HTML”命令,打开浏览器,即可测试单击“教学课堂”、“使用帮助”后跳转到链接网站,单击“联

20、系我们”按钮后启动Outlook Express的效果。,4.5 浏览器控制,制作完成的动画通常都是在Flash播放器中播放的,控制播放器的播放环境及播放效果是我们经常要解决的问题。比如,如何退出动画、使动画全屏幕播放、如何在影片中调用外部程序等。fscommand可以实现对动画播放器,也就是Flash Player的控制,它位于“浏览器/网络”类中,如图4-22所示。此外,它可配合JavaScript脚本语言,是Flash与外界沟通的桥梁。facommand的语法格式为:facommand(命令,参数),前面的“命令”是可以执行的参数;后面的“参数”是被执行命令的参数,其说明如图4-23所示

21、。,4.5.1 浏览器控制简介,图4-22“浏览器/网络”类,图4-23fscommand常用命令和参数说明,4.5.2 退出动画,下面通过一个实例来具体讲解利用facommand语言脚本来退出动画的方法,具体操作步骤如下:1)打开配套光盘中“素材及结果|4.5 浏览器控制|退出动画-素材.fla”文件。2)执行菜单中的“窗口|公用库|按钮”命令,调出库面板,如图4-24所示。然后将buttons bubble 2文件夹中的bubble 2 orange按钮拖入舞台的左下角。接着双击舞台中的bubble 2 orange按钮,进入按钮编辑模式后,将按钮中的文字改为“退出动画”,结果如图4-25

22、所示。,图4-24调出公用库面板 图4-25更改按钮中的文字,3)给按钮添加退出动画语言脚本。方法:右键单击舞台中的按钮,从弹出的快捷菜单中选择“动作”命令,接着在弹出的动作面板中设置动作脚本为:on(release)fscommand(quit,);)执行菜单中的“文件发布”命令,将动画发布。然后切换到文件保存的目录,用鼠标双击刚发布的动画文件,即可测试单击“退出”按钮后,关闭动画的效果。提示:如果执行菜单中的“控制|测试影片”(快捷键Ctrl+Enter)命令,打开播放器是不能测试效果的,必须双击发布的动画文件菜可以测试效果。,4.5.3 全屏幕播放动画,下面通过一个实例来具体讲解利用fa

23、command语言脚本来全屏播放动画的方法,具体操作步骤如下:1)打开配套光盘中“素材及结果|4.5 浏览器控制|全屏幕播放动画-素材.fla”文件。2)执行菜单中的“窗口|公用库|按钮”命令,调出库面板,如图4-26所示。然后将buttons bubble 2文件夹中的bubble 2 red按钮拖入舞台的左下角。接着双击舞台中的bubble 2 red按钮,进入按钮编辑模式后,将按钮中的文字改为“全屏播放”,结果如图4-27所示。,图4-26调出公用库面板 图4-27更改按钮中的文字,3)给按钮添加全屏播放动画的语言脚本。方法:右键单击舞台中的按钮,从弹出的快捷菜单中选择“动作”命令,接着

24、在弹出的动作面板中设置动作脚本为:on(release)fscommand(fullscreen,true);提示:表示动画全屏幕显示模式,true表示采用动画全屏幕模式,整段脚本的意思是当用鼠标单击按钮后,动画将全屏播放。)执行菜单中的“文件发布”命令,将动画发布。然后切换到文件保存的目录,用鼠标双击刚发布的动画文件,即可测试单击“全屏播放”按钮后,全屏播放动画的效果,如图4-28所示。,单击“全屏播放”按钮前单击“全屏播放”按钮前,图4-28单击“全屏播放”按钮前后的效果比较,4.5.4 动画缩放模式的控制,下面通过一个实例来具体讲解利用facommand语言脚本来控制动画缩放模式的方法,

25、具体操作步骤如下:1)打开配套光盘中“素材及结果|4.5 浏览器控制|动画缩放模式的控制-素材.fla”文件。2)执行菜单中的“窗口|公用库|按钮”命令,调出库面板,如图4-29所示。然后将buttons bubble 2文件夹中的bubble 2 orange按钮拖入舞台的左下角。接着双击舞台中的bubble 2 orange按钮,进入按钮编辑模式后,将按钮中的文字改为“动画缩放”,结果如图4-30所示。,图4-29调出公用库面板 图4-30更改按钮中的文字,3)执行菜单中的“文件发布”命令,将动画发布。然后切换到文件保存的目录,用鼠标双击刚发布的动画文件,此时改变动画的播放窗口,可以看到,

26、动画会随着窗口的缩放而缩放,如图4-31所示。,图4-31动画随着窗口的缩放而缩放,4)给按钮添加退出动画语言脚本。方法:右键单击舞台中的按钮,从弹出的快捷菜单中选择“动作”命令,接着在弹出的动作面板中设置动作脚本为:on(release)fscommand(allowscale,false);,提示:这里的allowscale表示缩放动画的模式,后面的false表示不管动画播放窗口有多大,动画始终会以100%的方式显现。5)执行菜单中的“文件发布”命令,将动画发布。然后切换到文件保存的目录,用鼠标双击刚发布的动画文件,即可测试单击“动画缩放”按钮后,无论如何缩放动画,动画始终以100%的方式

27、进行显示的效果,如图4-32所示。,图4-32单击“动画缩放”按钮后缩放画面的效果,4.5.5 动画右键菜单的控制,下面通过一个实例来具体讲解利用facommand语言脚本来控制邮件菜单的方法,具体操作步骤如下:1)打开配套光盘中“素材及结果|4.5 浏览器控制|动画右键菜单的控制-素材.fla”文件,然后执行菜单中的“文件发布”命令,将动画发布。接着切换到文件保存的目录,用鼠标双击刚发布的动画文件。再右键单击动画,此时菜单中可以对动画进行许多操作,如图4-33所示。2)如果不想让浏览者操作动画,可以通过下面的语言脚本来实现。方法:选中第1帧,然后在动作面板中设置动作脚本为:fscommand

28、(showmenu,false);提示:showmene表示控制动画右键菜单的模式,false表示动画的右键菜单中只包括播放其版本项。3)按执行菜单中的“文件发布”命令,将动画发布。接着切换到文件保存的目录,用鼠标双击刚发布的动画文件。再右键单击动画,此时菜单中只剩下播放器版本一项了,如图4-34所示。,图4-33动画的右键菜单 图4-34菜单中只剩下播放器版本项,至此,我们已经介绍了“浏览器/网络”类中的“facommand”和“getURL”,下面来简单介绍一下该类中的其他语句:loadMovie:在播放原始swf动画的同时,将swf动画或者jpg图像加载到播放器中。loadMovieNu

29、m:在播放原来加载的swf动画的同时,将swf动画或者jpg图像加载到播放器中的某个级别。loadVariables:从外部文件中读取数据,如从txt文件中读取变量值,设置目标影片剪辑中变量的值。loadVariablesNum:从外部文件(如文本文件)中读取数据,并设置动画播放器级别中变量的值。此函数可用于使用新值更新活动swf动画中的变量。unloadMovie:从动画播放器中删除通过loadMovie()加载的影片。unloadMovieNum:从动画播放器中删除通过loadMovieNum加载的影片。,4.6 声音的控制,在“3.2 声音的应用”中,我们讲解了导入声音的方法,本节我们将

30、讲解控制声音的方法。下面通过一个实例来具体讲解利用利用语言脚本来控制声音的方法,具体操作步骤如下:1)打开配套光盘中“素材及结果|4.6 声音的控制|声音的控制-素材.fla”文件。2)执行菜单中的“控制测试影片”(快捷键Ctrl+Enter)命令,此时可以看到随着音乐和动画同时播放的效果。3)回到动画编辑文件中,选中“音乐”层,然后在属性面板中设置“同步”为“事件”,如图4-35所示。4)新建“按钮”层,然后执行菜单中的“窗口|公用库|按钮”命令,调出按钮库,如图4-36所示。接着从中选择两个按钮拖入舞台,并将按钮中的文字更改为“播放”和“停止”,如图4-37所示。,图4-35设置声音属性,

31、图4-36调出按钮库 图4-37创建“播放”和“停止”两个按钮,5)设置“播放”按钮的动作。方法:右键单击舞台中的“播放”按钮,从弹出的快捷菜单中的“动作”,然后在弹出的动作面板中设置动作脚本为:on(release)play()6)设置“停止”按钮的动作。方法:右键单击舞台中的“停止”按钮,从弹出的快捷菜单中的“动作”,然后在弹出的动作面板中设置动作脚本为:on(release)stop()7)执行菜单中的“控制测试影片”(快捷键Ctrl+Enter)命令,即可测试单击“停止”按钮后动画停止播放,单击“播放”按钮后动画继续播放,而背景音乐始终播放的效果。8)制作单击“停止”按钮后音乐停止播放

32、的效果。方法:选中“音乐”层,然后在属性面板中设置“同步”为“数据流”,如图4-38所示。接着右键单击舞台中的“停止”按钮,从弹出的快捷菜单中的“动作”,然后在弹出的动作面板中重新设置动作脚本为:on(release)stopAllSounds(),图4-38设置声音属性,提示:刚才将声音设置为“事件”后,声音是独立于时间轴播放的,我们无法用“时间轴控制”类的脚本语句去控制声音的播放与停止。而将声音设置为“数据流”后,声音是与动画同步的,可以用播放和停止语句去控制声音的播放与停止。9)执行菜单中的“控制测试影片”(快捷键Ctrl+Enter)命令,即可测试单击“停止”按钮后音乐停止播放的效果。

33、,4.7 ActionScript 3.0的应用,在Flash CS3中,允许创建基于时间轴的ActionScript 3.0的fla文档,ActionScript 3.0,与ActionScript 2.0和1.0有本质上的不同,是一门功能强大的、面向对象的、具有业界标准素质的编程语言。ActionScript 3.0是快速构建Rich Internet Application的理想语言。,4.7.1 ActionScript历史简介,早期的Flash 3中的ActionScript 1.0语法冗长,主要的应用是围绕着帧的导航和鼠标的交互,这种状况一直保持到Flash 5,到Flash 5版

34、本时,ActionScript已经很像JavaScript了。它提供了很强的功能和为变量的传输提供了点语法。ActionScript同时也变成了一种prototyped(原型)语言,允许类似于在JavaScript中的简单的OOP功能。这些在随后的Flash MX版本中得到了增强。Flash MX 2004引入了ActionScript 2.0,它带来了两大改进:变量的类型检测和新的class类语法。ActionScript 2.0的变量类型会在编译时执行强制类型检测。它意味着当用户在发布或是编译影片时任何制定了类型的变量都会从众多的代码中剥离出来,检查是否与现有的代码存在矛盾冲弧绻诒嘁牍讨忻

35、挥蟹殖逋唬疵磗wf将会被创建,没有任何不可理解变量类型的代码将会运行。尽管这个功能对于Flash Player的回放来说没有什么好处,但对于Flash创作人员来说,它是一个非常好的工具,可以帮助调试更大更复杂的程序。,在ActionScript 2.0中的新的class类语法用来在ActionScript 2.0中定义类。它类似于Java语言中的定义。尽管Flash仍不能超越它自身的原型来提供真正的class类,但新的语法提供了一种非常熟悉的风格来帮助用户从其他语言上迁移过来,提供了更多的方法来组织分离出来As文件和包。接下来进入到Flash CS3,ActionScript 3.0有一个全新

36、的虚拟机,ActionScript 1.0和ActionScript 2.0都使用的是AVMI(ActionScript虚拟机 1),因此它们在需要回放时本质上是一样的。在ActionScript 2.0中增加了强制变量类型和新的类语法,它实际上在最终编译时变成了ActionScript 1.0,而ActionScript 3.0是运行在AVM2上,一种新的专门对ActionScript 3.0代码的虚拟机。基于上面的原因,ActionScript 3.0影片不能直接与ActionScript 1.0和ActionScript 2.0的直接通信(ActionScript 1.0和ActionS

37、cript 2.0的影片可以直接通信,因为他们使用的是相同男槟饣绻枰狝ctionScript 3.0影片与ActionScript 1.0和ActionScript 2.0的影片通信,只能通过localconnection),但是ActionScript 3.0的改变具有更深远的意义。,4.7.2 初识ActionScript 3.0,下面通过一个简单实例来介绍一下ActionScirpt 3.0的使用,具体操作步骤如下:1)启动Flash CS3,执行菜单中的“文件|新建”命令,在弹出的“新建文档”对话框中选择“常规”选项卡下的“Flash文件(ActionScript 3.0)”,如图4-

38、39所示,单击“确定”按钮,从而创建一个基于ActionScript 3.0的动画文档。,图4-39选择“Flash文件(ActionScript 3.0)”,2)执行菜单中的“文件|导入|导入到舞台”命令,导入配套光盘“素材及结果|4.7.2 初识ActionScript 3.0|素材.jpg”图片。然后按快捷键F8,在弹出的对话框中设置如图4-40所示,单击“确定”按钮。接着在属性面板中将影片剪辑的实例名设为xmk_mc,如图4-41所示。,图4-40将图片转换为“元件1”影片剪辑元件 图4-41将实例名设为xmk_mc,3)单击时间轴下方的(插入图层)按钮,新建actions层。然后单击

39、该层的第1帧,在动作面板中设置动作脚本为:xmk_mc.addEventListener(MouseEvent.CLICK,clickHandler);function clickHandler(event:MouseEvent):void trace(历史的回忆山东临淄战国时期的齐国殉马坑!);,4)执行菜单中的“控制测试影片”(快捷键Ctrl+Enter)命令,即可测试单击图片后在输入面板中显示出在动作脚本中设置的文字信息的效果,如图4-42所示。从以上脚本中可以得到以下结论。,图4-42双击图片后显示出设置的文字信息,在ActionScript 2.0中,影片剪辑是不可以加监听器的,但在

40、ActionScript 3.0中,却可以了。在ActionScript 3.0中,要让影片剪辑能够像按钮一样接受click、rollover等事件,并使鼠标放上去显示手形形状,那么一定要加上一句:影片剪辑名称.buttonMode=true;在ActionScript 3.0中的事件模型与ActrionScript 2.0有了很大区别。在ActionScript 3.0中,不再直接使用字符串而是使用变量来定义事件名称。使用了这种模式,极大地避免了因为手误,输入错误的字符串,而花费大量时间找错误,一旦输错,编译器立刻会发现并报告给用户。,下面给出了一些鼠标事件列表,大家可以替换上面源码中的事件

41、类型,进行测试。CLICK:String=click;/鼠标单击事件DOUBLE_CLICK:String=DOUBLE_CLICK;/鼠标双击事件 MOUSE_DOWN:String=mouseDown;/鼠标按下事件 MOUSE_LEAVE:String=mouseLeave;/鼠标离开事件 MOUSE_MOVE:String=mouseMove;/鼠标移动事件 MOUSE_OUT:String=mouseOut;/鼠标移出事件MOUSE_OVER:String=mouseOver;/鼠标移入事件MOUSE_UP:String=mouseUp;/鼠标按下后释放事件MOUSE_WHEEL:S

42、tring=mouseWheel;/鼠标滚轮事件提示:在上面的实例中,如果使用的是鼠标双击事件,在使用之前要加上一句“影片剪辑的名称.doubleClickEnabled=true;”,因为默认时,影片剪辑的鼠标双击事件为false,也就是关闭的。,侦听器的不同。在ActionScript 2.0中,通常要新建一个对象做侦听器,也可以像上面例子中一样,用function做侦听器,但是由于ActionScript 2.0的设计缺陷,使得function中的this指向常常给我们带来困扰。而ActionScript 3.0中采用了优秀的Traits Object架构,使得它能记住this的指向,因

43、此用户可以放心大胆使用function作为侦听器了。,4.7.3 类与绑定,类绑定是ActionScript 3.0代码与Flash CS3结合的重要途径。在ActionScript 3.0中,每一个显示对象都是一个具体类的实例,使用Flash制作的动画也不例外。采用类和库中的影片剪辑绑定,可以使漂亮的动画具备程序模块式的功能。一旦影片和类绑定后,放进舞台的这些影片就被视为该类的实例。当一个影片和类绑定后,影片中的子显示对象和帧播放都可以被类中定义的代码控制。类文件有什么含义呢?例如,我们想让一个影片剪辑对象有很多功能,比如支持拖拽、支持双击等,那么可以先在一个类文件中写清楚这些实现的方法,然

44、后用这个类在舞台上创建许多实例,此时这些实例全具有类文件中已经写好的功能。只需写一次,就能使用很多次,最重要的是它还可以通过继承来重用很多代码,为将来制作动画节省了很多的时间。,1.创建类文件,下面我们就来创建一个类文件。1)执行菜单中的“文件|新建”命令,在弹出的“新建文档”对话框中选择“常规”选项卡下的“ActionScript文件”,如图4-43所示,单击“确定”按钮,从而创建一个ActionScript文件。然后执行菜单中的“文件|保存”命令,将文件保存为“helfMC.as”文件。,图4-43选择“ActionScript文件”,2)在新建的文档中输入以下脚本:package/解释1

45、 import flash.display.MovieClip;/解释2 import flash.events.MouseEvent;/解释3 public class helfMC extends MovieClip public function helfMC()trace(helf created:+this.name);this.buttonMode=true;this.addEventListener(MouseEvent.CLICK,clickHandler);this.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownListene

46、r);this.addEventListener(MouseEvent.MOUSE_UP,mouseUpListener);private function clickHandler(event:MouseEvent):void trace(You clicked the picture);function mouseDownListener(event:MouseEvent):void this.startDrag();function mouseUpListener(event:MouseEvent):void this.stopDrag();,解释1:在ActionScript 2.0中

47、,声明类时在类的名称前包括了类的路径。在ActionScript 3.0中,则把路径提取出来放在package这个关键字后面。本例中的类文件和fla文件在同一目录下,因此package后面没有内容,如果类文件在org目录下的helf目录里,那个就要写成:package org.helf public class helfMC 解释2:在ActionScript 3.0中,MovieClip类不再像ActionScript 2.0中那样是默认的全局类了,要使用MovieClip类一定要写这一句导入。下一行的脚本意义是导入鼠标事件类。解释3:在ActionScript 3.0中,类分为public

48、和internal。public表示这个类可以在任何地方导入使用;internal表示这个类只能在同一个package里面使用。不说明的时候默认为internal。还有一个属性是final,表示这个类不能被继承,继承树到此为止。public、internal和final这3个属性都是用来更加规范的管理类之间的关系,以便将来方便修改。,2.影片剪辑元件,并设置它与上面的类绑定,1)新建一个ActionScript 3.0的fla文档,然后导入配套光盘“素材及结果|4.7.3 类与绑定|密云风景.jpg”图片。2)在舞台中选中导入的图片,然后按快捷键,在弹出的对话框中设置如图4-44所示,单击“确

49、定”按钮,从而将其转换为影片剪辑元件。3)在库面板中,右键单击刚创建的影片剪辑元件,从弹出的快捷菜单中选择“链接”命令,然后在弹出的“链接属性”对话框中设置如图4-45所示,单击“确定”按钮。,在“链接属性”对话框中,“标识符”为不可用状态,因为在ActionScript 3.0中,没有MovieClip.attachMovie()、MoveiClip.createEmptyMovieClip()、MoveiClip.createTextField()语句了,所有在舞台上的可见对象都由new来创建。例如在本例中,影片剪辑“元件1”绑定了helfMC,那么如果要在舞台上创建一个helfMC,只需

50、设置如下动作脚本:var bl:helf=new helfMC();/解释1addChild(bl);/解释2解释1:在ActionScript 2.0中,创建影片和组件需要使用createClassObject()、createChildAtDepth()、createClassChildAtDepth()等,这些语句不是很规范,而且比较乱。而在ActionScript 3.0中,只需使用new ClassName()即可。解释2:addChild()这个函数很重要,只有第一句new还不行,那只是告诉Flash创建了一个名字为bl的helfMC要进行显示,当输入addChild(bl)后,F

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号