创建交互式动画_第1页
创建交互式动画_第2页
创建交互式动画_第3页
创建交互式动画_第4页
创建交互式动画_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章,创建交互式动画,学习目标,本章主要介绍了ActionScript常用的一些命令及其使用。通过本章的学习,了解ActionScript2.0和ActionScript3.0的主要区别,熟练掌握常用控制语句、getURL语句、startDrag语句和声音控制语句的使用。,本章重点,常用控制语句超链接语句getURLstartDrag语句声音控制语句时间获取语句,8.1常用的控制语句,Flashcs中可以使用的命令有上千条,在此只介绍经常使用的一些命令,利用这些命令可以定义动画的一些简单交互控制。Flashcs中有两个编码器:一个是ActionScript2.0编码器,一个是ActionSc

2、ript3.0编码器。尽管Adobe建议使用ActionScript3.0,但用户还可以继续使用ActionScript2.0,下面介绍ActionScript2.0中主要使用的命令。,在【动作】面板中,【全局函数】|【时间轴控制】和【全局函数】|【浏览器/网络】类别中提供了许多动作命令,通过对这些命令的使用可以创建出交互式动画,如图8-1所示。,图8-1常用控制语句,【全局函数】|【时间轴控制】类别提供如下动作命令:gotoAndPlay:将播放头转到场景中指定的帧并从该帧开始播放。如果末指定场景,则播放头将转到当前场景中的指定帧。例如gotoAndPlay(“scene2”,7)表示跳转到

3、scene2场景的第7帧并开始播放。gotoAndStop:将播放头转到场景中指定的帧并停止播放。如果末指定场景,则播放头将转到当前场景中的帧。例如gotoAndStop(50)表示跳转到当前场景的第50帧并停止播放。,nextFrame:将播放头转到下一帧并停止。nextScene:将播放头移到下一场景的第1帧并停止。play:在时间轴中向前移动播放头。prevFrame:将播放头转到前一帧并停止。如果当前帧为第1帧,则播放头不移动。prevScene:将播放头移到前一场景的第1帧并停止。stop:停止当前正在播放的swf文件。此动作最通常的用法是用按钮控制动画。stopAllSounds:

4、在不停止播放头的情况下,停止swf文件中当前正在播放的所有声音。,但是,在ActionScript3.0中,这些命令成为了flash.display包中的MovieClip类的方法,如图8-2所示。,图8-2ActionScript3.0中命令位置,【全局函数】|【浏览器/网络】类别提供如下动作命令:fscommand:发送fscommand命令到动画中。表8-1列出了可对Flash动画进行控制的fscommand命令。,表中描述的命令在Web播放器中都不可用。所有这些命令在独立的应用程序(例如,放映文件)中都可用。只有allowscale和exec在测试影片播放器中可用。,例如,我们可以制作

5、两个按钮,分别是控制影片全屏播放的按钮一和控制影片退出全屏播放的按钮二,按钮上的代码如下:按钮一:on(release)fscommand(fullscreen,true);按钮2:on(release)fscommand(fullscreen,false);,getURL:用getURL动作为动画添加链接。单击该链接,就会在指定的窗口中打开指定的网页,如getURL(“hltp:/”)就是链接到baidu网站;也可以利用该命令打开指定的文件,但文件必须提供文件扩展名。loadMovie:在播放原始SWF文件的同时将SWF文件或JPEG文件加载到FlashPlayer中。loadMovieNu

6、m:在播放原来加载的SWF文件的同时将SWF文件或JPEG文件加载到FlashPlayer中的某个级别。,URL是UniformResourceLocator(统一资源定位器)的缩写,也就是网络资源的地址。要测试设置效果,指定的URL绝对路径必须存在(如m)。要打开的文件必须存放在指定的位置。loadVariable从外部文件(例如文本文件,或由CGI脚本、ASP、PHP或Perl脚本生成的文本)中读取数据,并设置目标影片剪辑中变量的值。此动作还可用于使用更新SWF文件中的变量。制作Flash聊天室或Flash论坛就需要此动作。,loadVariablesNum:从外部文件(例如文本文件,或由

7、CGI脚本、ASP、PHP或Perl脚本生成的文本)中读取数据,并设置FlashPlayer级别中变量的值。此函数还可用于使用新值更新活动SWF文件中的变量。unloadMovie:从FlashPlayer中删除通过loadMovie()加载的影片剪辑。unloadMovieNum:从FlashPlayer中删除通过loadMovieNum()加载的影片。,但是,在ActionScript3.0中,fscommand成为了flash.system包中的方法;getURL成为了包中的navigateToUR方法;loadMovie和loadMovieNum全局函数由flash.display包中

8、的Loader类所替代;loadVariable和loadVariableSNum,由包中的URLLoader类所代替,如图8-3、8-4、8-5、8-6所示。,图8-3fscommand的位置,图8-4getURL的位置,图8-5loadMovie和loadMovieNum的位置,图8-6loadVariable和loadVariableSNum的位置,【例8-1】常用控制语句。本动画实例的目的是:通过对一个有声动画添加按钮并设置动作,来实现最基本的交互效果,以随时控制动画的播放,要实现的控制有:单击【播放】按钮播放动画;单击【停止】按钮停止播放;单击【重新开始】按钮重新播放;单击【下一帧】

9、按钮显示下一帧内容;单击【前一帧】按钮返回上一帧内容;单击【声音】按钮关闭音效。实例效果如图8-7所示。,图8-7动画运行效果,8.2超链接语句getURL,getURL命令的语法格式为getURL(url,window,“method”),作用是将来自特定URL的文档加载到指定的窗口中,或将变量传递到位于所定义的URL的另一个应用程序中。使用此动作时一定要确保欲加载的文件位于指定的位置。,如果要使用绝对URL(例如),则需要网络连接。该命令主要包括如下参数:url:可从该处获取文档的URL。window:可选参数,指定文档应加载到其中的窗口或HTMI框架。可以输入特定窗口的名称,或从下面的保

10、留目标名称中选择。,_self指定当前窗口中的当前框架;_blank指定一个新窗口;_parent指定当前框架的父级;_top指定当前窗口中的顶级框架;method:用于发送变量的两种方法:GET或POST方,如果没有参数,则省略此参数。GET方式会将变量添加到URL名称的后面,常用于发送短字符变量;POST方式将变量作为一个单独的标题来发送,常用于发送长字符变量。,【例8-2】getURL应用。下面的实例使用getURL动作实现不同的超级链接,包括打开网页、打开指定的文件玩纸牌游戏及发送邮件等。单击“链接到网站”,只要已经接入Internet,就会使用新窗口登录到网页;单击“玩纸牌游戏”图标

11、,出现文件下载对话框,单击【打开】按钮,就可以玩纸牌游戏了;单击【给我写信】图标,就会启动默认的邮件程序(通常为OutlookExpess),让用户写新邮件。实例效果如图8-10所示。,图8-10动画运行效果,8.3startDrag语句,在本书第7章7.4.4节中我们已经详细讲了startDrag语句的使用,下面我们再通过一个具体的实例来加深对startDrag语句的理解。【例8-3】探照灯效果。本动画实例的目的是制作鼠标跟随效果。实例效果如图8-12所示。,图8-12动画运行效果,8.4声音控制语句,在Flash中能对动画中的声音进行相应控制,打开【ActionScript2.0类】|【媒

12、体】|【Sound】其声音控制语句如图8-19所示。,图8-19声音控制语句,其常用的控制语句如下:newSound该语句用于建立声音对象。其语法格式如下:newSound();newSound(target);其中,target表示要加入声音的MovieClipinstance名称,其写法如下:firstSound=newSound();/建立名为firstSound的声音文件,Sound.start该语句用于开始播放声音对象。其语法格式如下:firstSound.start();firstSound.start(secondOffset,loops);参数分别为:secondOffset可

13、选,通过它可以从特定点开始播放声音。例如,如果用户有一个30秒的声音,而用户希望该声音从中间开始播放,可将secondOffset参数指定为15。并非声音延迟15秒,而是从15秒标记处开始播放。loops可选,通过它可以指定声音应该连续播放的次数。如果声音是声音流,则此参数不可用。,Sound.stop该语句用于停止当前播放的所有声音(如果未指定参数),或者只停止播放在参数中指定的声音。其语法格式如下:firstSound.stop();firstSound.stop(linkageID);参数为:linkageID可选,指定特定声音停止播放的参数。参数必须置于引号(“”)之中。,Sound.

14、setVolume该语句用于设置声音的大小。其语法格式如下:firstSound.setVolume(value);参数为:value个从0到100之间的数字,表示音量级别。100为最大音量,而0为没有音量。默认设置为100。,Sound.attachSoundfirstSound.attachSound(id);该语句将在id参数中指定的声音附加到指定的Sound对象。该声音必须位于当前SWF文件的库中,并且必须已经在【链接属性】对话框中指定为导出。必须调用Sound.start()才能开始播放此声音。为了确保从SWF文件中的任何场景都可以控制声音,请将声音放置在SWF文件的主时间轴上。参数

15、为:id库中导出声音的标识符。该标识符位于【链接属性】对话框。,【例8-4】下面我们来制作一个通过按钮控制声音的实例,通过这个实例加深对声音控制语句的理解。当用户单击绿色的按钮时,即可播放音乐,单击红色的按钮,即可停止音乐。实例效果如图8-20所示。,图8-20动画运行效果,8.5时间获取语句,在Flash中使用时间获取语句,可对电脑中的系统时间进行提取,以实现某些特定的功能(如实现时间显示功能),打开【ActionScript2.0类】|【核心】|【Date】,其时间获取语句如图8-25所示。,图8-25时间获取语句,其常用的控制语句如下:newDate该语句用于构造一个新的Date对象,该

16、对象将保存指定的日期和时间。其语法格式如下:newDate();newDate(yearOrTimevalue,month,date,hour,minute,second,millisecond);Date()构造函数使用最多七个参数(year、month、.millisecond);,参数为:yearOrTimevalue:可选,如果指定了其它参数,则此数字表示年份(如1965);否则,它表示时间值。如果该数字表示年份,则0至99之间的值表示1900年至1999年;否则,必须指定表示年份的所有4位数字,如2009。如果该数字表示时间值(未指定任何其它参数),则为GMT时间1970年1月1日0

17、:00:00之前或之后的毫秒数;负值表示GMT时间1970年1月1日0:00:00“之前”的某个时间,而正值表示该时间之后的某个时间。,month可选,这个参数表示月份,取值范围为0(一月)到11(十二月)之间的整数。date可选,这个参数表示日期,取值范围为1到31之间的整数。hour可选,这个参数表示小时数,取值范围为0(午夜)到23(晚上11点)之间的整数。,minute可选,这个参数表示分钟数,取值范围为0到59之间的整数。second可选,这个参数表示秒数,取值范围为0到59之间的整数。millisecond可选,取值范围为0到999之间的整数(毫秒)。,如:检索当前日期和时间var

18、now_date:Date=newDate();trace(now_date);如:为Mary的生日(1974年8月12日)创建一个新的Date对象(由于月份参数从零开始,所以此示例使用7而不是8表示月份):varmaryBirthday:Date=newDate(74,7,12);trace(maryBirthday);Date.getYear,按照本地时间返回指定的Date对象的年份。这里的年份是指完整的年份值减去1900。其语法格式如下:today_date.getYear();如:vartoday_date:Date=newDate(2004,4);trace(today_date.g

19、etYear();/输出104,表示2004年Date.getFullYear,按照本地时间返回指定的Date对象中的完整年份值(一个4位数,例如2000)。其语法格式如下:today_date.getFullYear();如:vartoday_date:Date=newDate();trace(today_date.getFullYear();/输出2009Date.getMonth,按照本地时间返回指定的Date对象中的月份值(0代表一月,1代表二月,依此类推)。其语法格式如下:today_date.getMonth();如:vartoday_date:Date=newDate();tra

20、ce(today_date.getMonth();Date.getDate,按照本地时间返回指定的Date对象中表示月中某天的值(1到31之间的整数)。其语法格式如下:today_date.getDate();如:vartoday_date:Date=newDate();trace(today_date.getDate();Date.getDay,按照本地时间返回指定的Date对象中表示星期几的值(0代表星期日,1代表星期一,依此类推)。其语法格式如下:today_date.getDay();如:vartoday_date:Date=newDate();trace(today_date.get

21、Day();Date.getHours,按照本地时间返回指定的Date对象中的小时值(0到23之间的整数)。其语法格式如下:today_date.getHours();如:vartoday_date:Date=newDate();trace(today_date.getHours();Date.getMinutes,按照本地时间返回指定的Date对象中的分钟值(0到59之间的整数)。其语法格式如下:today_date.getMinutes();如:vartoday_date:Date=newDate();trace(today_date.getMinutes();Date.getSeconds按照本地时间返回指定的Date对象中的秒钟值(0到59之间的整数)。其语法格式如下:today_date.getSeconds();如:vartoday_date:Date=newDate();trace(today_dat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论