本章主要介绍了ActionScript常用的一些命令及其使用.
通过本章的学习,了解ActionScript2.
0和ActionScript3.
0的主要区别,熟练掌握常用控制语句、getURL语句、startDrag语句和声音控制语句的使用.
常用控制语句超链接语句getURLstartDrag语句声音控制语句时间获取语句8.
1常用的控制语句FlashCS3中可以使用的命令有上千条,在此只介绍经常使用的一些命令,利用这些命令可以定义动画的一些简单交互控制.
FlashCS3中有两个编码器:一个是ActionScript2.
0编码器,一个是ActionScript3.
0编码器.
尽管Adobe建议使用ActionScript3.
0,但用户还可以继续使用ActionScript2.
0,下面介绍ActionScript2.
0中主要使用的命令.
在【动作】面板中,【全局函数】|【时间轴控制】和【全局函数】|【浏览器/网络】类别中提供了许多动作命令,通过对这些命令的使用可以创建出交互式动画,如图8-1所示.
【全局函数】|【时间轴控制】类别提供如下动作命令.
gotoAndPlay:将播放头转到场景中指定的帧并从该帧开始播放.
如果末指定场景,则播放头将转到当前场景中的指定帧.
如gotoAndPlay("scene2",7)表示跳转到scene2场景的第7帧并开始播放.
创建交互式动画-200-中文版FlashCS3动画制作实训教程gotoAndStop:将播放头转到场景中指定的帧并停止播放.
如果未指定场景,则播放头将转到当前场景中的帧.
如gotoAndStop(50)表示跳转到当前场景的第50帧并停止播放.
nextFrame:将播放头转到下一帧并停止.
nextScene:将播放头移到下一场景的第1帧并停止.
play:在时间轴中向前移动播放头.
prevFrame:将播放头转到前一帧并停止.
如果当前帧为第1帧,则播放头不移动.
prevScene:将播放头移到前一场景的第1帧并停止.
stop:停止当前正在播放的swf文件.
此动作最通常的用法是用按钮控制动画.
stopAllSounds:在不停止播放头的情况下,停止swf文件中当前正在播放的所有声音.
但是,在ActionScript3.
0中,这些命令成为了flash.
display包中的MovieClip类的方法,如图8-2所示.
图8-1常用控制语句图8-2ActionScript3.
0中命令位置【全局函数】|【浏览器/网络】类别提供如下动作命令.
fscommand:发送fscommand命令到动画中.
表8-1列出了可对Flash动画进行控制的fscommand命令.
表8-lfscommand命令命令参数目的quit无关闭动画fullscreentrueorfalse指定true可将FlashPlayer设置为全屏模式.
指定false可将播放器返回到标准菜单视图allowscaletrueorfalse指定false可设置播放器始终按SWF文件的原始大小绘制SWF文件,从不进行缩放.
指定true会强制将SWF文件缩放到播放器的100%大小-201-第8章创建交互式动画(续表)命令参数目的showmenutrueorfalse设置是否显示控制菜单及右击快捷菜单命令exec指向应用程序的路径在放映文件内执行应用程序.
可以使用绝对路径或相对路径trapallkeystrueorfalse指定true可将所有按键事件(包括快捷键)发送到FlashPlayer中的onClipEvent(keyDown/keyUp)处理函数表中描述的命令在Web播放器中都不可用.
所有这些命令在独立的应用程序(例如,放映文件)中都可用.
只有allowscale和exec在测试影片播放器中可用.
例如,用户可以制作两个按钮,分别是控制影片全屏播放的按钮一和控制影片退出全屏播放的按钮二,按钮上的代码如下.
按钮一:on(release){fscommand("fullscreen",true);}按钮2:on(release){fscommand("fullscreen",false);}getURL:用getURL动作为动画添加链接.
单击该链接,就会在指定的窗口中打开指定的网页,如getURL("hltp://www.
baidu.
com")就是链接到baidu网站;也可以利用该命令打开指定的文件,但文件必须提供文件扩展名.
loadMovie:在播放原始SWF文件的同时将SWF文件或JPEG文件加载到FlashPlayer中.
loadMovieNum:在播放原来加载的SWF文件的同时将SWF文件或JPEG文件加载到FlashPlayer中的某个级别.
URL是UniformResourceLocator(统一资源定位器)的缩写,也就是网络资源的地址.
要测试设置效果,指定的URL绝对路径必须存在(如http://www.
baidu.
comm).
要打开的文件必须存放在指定的位置.
loadVariable从外部文件(如文本文件,或由CGI脚本、ASP、PHP或Perl脚本生成的文本)中读取数据,并设置目标影片剪辑中变量的值.
此动作还可用于使用更新SWF文件中的变量.
制作Flash聊天室或Flash论坛就需要此动作.
loadVariablesNum:从外部文件(如文本文件,或由CGI脚本、ASP、PHP或Perl脚本生成的文本)中读取数据,并设置FlashPlayer级别中变量的值.
此函数还可用于使用新值更新活动SWF文件中的变量.
unloadMovie:从FlashPlayer中删除通过loadMovie()加载的影片剪辑.
unloadMovieNum:从FlashPlayer中删除通过loadMovieNum()加载的影片.
-202-中文版FlashCS3动画制作实训教程但是,在ActionScript3.
0中,fscommand成为了flash.
system包中的方法;getURL成为了flash.
net包中的navigateToUR方法;loadMovie和loadMovieNum全局函数由flash.
display包中的Loader类所替代;loadVariable和loadVariableSNum,由flash.
net包中的URLLoader类所代替,如图8-3~图8-6所示.
图8-3fscommand的位置图8-4getURL的位置图8-5loadMovie和loadMovieNum的位置图8-6loadVariable和loadVariableSNum的位置【例8-1】常用控制语句.
本动画实例的目的是:通过对一个有声动画添加按钮并设置动作,来实现最基本的交互效果,以随时控制动画的播放,要实现的控制有:单击【播放】按钮播放动画;单击【停止】按钮停止播放;单击【重新开始】按钮重新播放;单击【下一帧】按钮显示下-203-第8章创建交互式动画一帧内容;单击【前一帧】按钮返回上一帧内容;单击【声音】按钮关闭音效.
实例效果如图8-7所示.
图8-7动画运行效果(1)新建一个Flash文档,在【文档属性】对话框中将舞台定义为900px*300px,背景为白色.
(2)将一个准备好的【鸟】图片导入库中并放置到舞台上,并且创建补间动画使其具有飞翔的效果,如图8-8所示.
图8-8飞翔的鸟(3)导入鸟叫的声音,将【图层1】改名为【飞翔的鸟】,新建一层,命名为【鸟叫声】,将声音添加到动画中,再新建一层,命名为【按钮】,并在该层上创建6个按钮,分别为【播放】、【停止】、【重新开始】、【下一帧】、【前一帧】和【声音】,如图8-9所示.
图8-9加入声音并创建按钮(4)按住Alt键,单击按钮层的锁定按钮,锁定其他所有层.
然后使用【对齐】面板对齐创建的按钮.
(5)单击【播放】按钮,按F9键,打开【动作-按钮】,添加如下动作代码.
在本例中,所有-204-中文版FlashCS3动画制作实训教程按钮动作的触发事件都是release.
on(release){play();}(6)单击【停止】按钮,此时【动作-按钮】面板处于打开状态,添加如下动作代码.
on(release){stop();}(7)单击【声音】按钮,添加如下动作代码.
on(release){stopAllSonunds();}(8)单击【重新开始】按钮,添加如下动作代码.
on(release){gotoAndplay(1);}//单击此按钮,转到当前场景的第1帧并开始播放.
(9)单击【下一帧】按钮,添加如下动作代码.
on(release){nextFrame();}(10)单击【前一帧】按钮,添加如下动作代码.
on(release){prevFrame();}(11)如果想让动画播放完成后自动停止,可以在按钮层的最后一帧插入关键帧,然后添加stop()动作.
(12)保存文件.
关闭【动作-按钮】面板,按Ctrl+Enter组合键,测试动画的交互效果.
8.
2超链接语句getURLgetURL命令的语法格式为getURL(url[,window[,"method"]]),作用是将来自特定URL的文档加载到指定的窗口中,或将变量传递到位于所定义的URL的另一个应用程序中.
使用此动作时一定要确保欲加载的文件位于指定的位置.
如果要使用绝对URL(如http://www.
baidu.
com),-205-第8章创建交互式动画则需要网络连接.
该命令主要包括如下参数.
url:可从该处获取文档的URL.
window:可选参数,指定文档应加载到其中的窗口或HTML框架.
可以输入特定窗口的名称,或从下面的保留目标名称中选择.
_self指定当前窗口中的当前框架.
_blank指定一个新窗口.
_parent指定当前框架的父级.
_top指定当前窗口中的顶级框架.
method:用于发送变量的方法有GET和POST两种,如果没有参数,则省略此参数.
GET方式会将变量添加到URL名称的后面,常用于发送短字符变量;POST方式将变量作为一个单独的标题来发送,常用于发送长字符变量.
【例8-2】getURL应用.
下面的实例使用getURL动作实现不同的超级链接,包括打开网页、打开指定的文件玩纸牌游戏及发送邮件等.
单击"链接到bai.
com网站",只要已经接入Internet,就会使用新窗口登录到网页;单击【玩纸牌游戏】图标,出现文件下载对话框,单击【打开】按钮,就可以玩纸牌游戏了;单击【给我写信】图标,就会启动默认的邮件程序(通常为OutlookExpress),让用户写新邮件.
实例效果如图8-10所示.
(1)新建一个Flash文档,舞台大小定义为300px*350px,背景为白色.
(2)制作4个按钮,并将它们在舞台上排列整齐,如图8-11所示.
图8-10动画运行效果图8-11舞台上的按钮(3)单击【百度网站】按钮,按F8键,打开【动作-按钮】面板,添加如下动作代码.
on(release){getURL("http://www.
baidu.
com","_blank","GET");}(4)单击【C盘】按钮,添加如下动作代码.
-206-中文版FlashCS3动画制作实训教程on(release){getURL("c:\\");}(5)单击【玩纸牌】按钮,添加如下动作代码.
on(release){getURL("C:\\windows\\system32\\sol.
exe");}在此路径指定的文件必须存在,否则单击此按钮将弹出错误提示.
假如用户的WindowsXP操作系统安装在C盘,则纸牌游戏的绝对路径就应该是C:windows\System32\sol.
exe(6)单击【给我写信】按钮,添加如下动作代码.
on(release){getURL(【mailto:sucess007@163.
com","_self");}(7)保存文件.
按Ctrl+Enter组合键测试动画的交互效果.
8.
3startDrag语句在本书第7章7.
4.
4节中已经详细讲了startDrag语句的使用,下面再通过一个具体的实例来加深对startDrag语句的理解.
【例8-3】探照灯效果.
本动画实例的目的是制作鼠标跟随效果.
实例效果如图8-12所示.
图8-12动画运行效果(1)新建一个Flash文档,舞台大小定义为500px*500px,背景为白色.
(2)选择【插入】|【新建元件】命令,创建一个名为star的影片剪辑元件,单击【确定】按钮,进入元件编辑状态.
(3)单击【多角星形工具】,在【对齐】面板中单击【选项】,进入【工具设置】面板,如图8-13所示,按照图上参数进行设置,然后在舞台上绘制一个任意大小,任意颜色的无边框星形图-207-第8章创建交互式动画形.
利用【对齐】面板,使其相对于舞台居中对齐.
并将该图层改名为【星形】,如图8-14所示.
图8-13工具设置图8-14绘制五星(4)返回【场景1】,选择【文件】|【导入】|【导入舞台】命令,导入名为【水立方.
jpg】的图片,并使其与【舞台】一样大小,并将图层命名为【背景】,如图8-15所示.
图8-15导入背景图片(5)新建一层,命名为【星】,打开【库】面板,从中将star元件拖入到【舞台】,在【属性】面板中输入实例名称star0,如图8-16所示.
图8-16为元件实例命名(6)右击【星】图层名称处,在快捷菜单中选择【遮罩层】命令,将【星】图层设置为遮罩,如图8-17所示.
(7)新建一层,更名为【代码】,选中【代码】层第一帧,打开【动作】面板,输入以下脚本startDrag("star0",true);.
(8)保存文件为【探照灯效果.
FLA】.
按Ctrl+Enter组合键,测试动画的效果.
-208-中文版FlashCS3动画制作实训教程图8-17将【星】图层设置为遮罩层图8-18startDrag和stopDrag的位置8.
4声音控制语句在Flash中能对动画中的声音进行相应控制,打开【ActionScript2.
0类】|【媒体】|【Sound】类别,其声音控制语句如图8-19所示.
图8-19声音控制语句但是,在ActionScript3.
0中,startDrag和stopDrag成为了flash.
display包中Sprite类的方法,用户除了可以使用该类中的startDrag方法和stopDrag方法外,也可以通过在程序代码中使用Sprite类直接在舞台中绘制图形,如图8-18所示.
-209-第8章创建交互式动画其常用的控制语句如下.
newSound该语句用于建立声音对象.
其语法格式如下:newSound();newSound(target);其中,target表示要加入声音的MovieClipinstance名称,其写法如下:firstSound=newSound();//建立名为firstSound的声音文件Sound.
start该语句用于开始播放声音对象.
其语法格式如下:firstSound.
start();firstSound.
start([secondOffset],[loops]);各参数含义如下.
secondOffset:可选,通过它可以从特定点开始播放声音.
例如,如果用户有一个30秒的声音,而用户希望该声音从中间开始播放,可将secondOffset参数指定为15.
并非声音延迟15秒,而是从15秒标记处开始播放.
loops:可选,通过它可以指定声音应该连续播放的次数.
如果声音是声音流,则此参数不可用.
Sound.
stop该语句用于停止当前播放的所有声音(如果未指定参数),或者只停止播放在参数中指定的声音.
其语法格式如下:firstSound.
stop();firstSound.
stop([linkageID]);参数含义如下.
linkageID:可选,指定特定声音停止播放的参数.
参数必须置于引号("")之中.
Sound.
setVolume该语句用于设置声音的大小.
其语法格式如下:firstSound.
setVolume(value);参数含义如下.
value:―个从0到100之间的数字,表示音量级别.
100为最大音量,而0为没有音量.
默认设置为100.
Sound.
attachSoundfirstSound.
attachSound(id);-210-中文版FlashCS3动画制作实训教程该语句将在id参数中指定的声音附加到指定的Sound对象.
该声音必须位于当前SWF文件的库中,并且必须已经在【链接属性】对话框中指定为导出.
必须调用Sound.
start()才能开始播放此声音.
为了确保从SWF文件中的任何场景都可以控制声音,请将声音放置在SWF文件的主时间轴上.
参数含义如下.
id:库中导出声音的标识符.
该标识符位于【链接属性】对话框.
【例8-4】制作一个通过按钮控制声音的实例,通过这个实例加深对声音控制语句的理解.
当用户单击绿色的按钮时,即可播放音乐,单击红色的按钮,即可停止音乐.
实例效果如图8-20所示.
(1)新建一个Flash文档,舞台大小定义为500px*500px,背景为白色.
(2)选择【文件】|【导入】|【导入舞台】命令,导入名为【风景.
jpg】的图片,并使其与【舞台】一样大小,并将图层命名为【背景】,选中本层的第200帧,按F5键插入帧.
(3)选择【文件】|【导入】|【导入库】命令,导入名为【轻音乐】的MP3文件.
(4)新建一层,命名为【按钮】,选择【窗口】|【公用库】|【按钮】命令,从中选择两个不同颜色按钮拖动到舞台上,放在合适的位置,其中绿色的按钮用来打开音乐,红色的按钮用来停止音乐,如图8-21所示.
图8-21添加按钮后图8-20动画运行效果-211-第8章创建交互式动画(5)打开【库】面板,右击音频文件,在快捷菜单中选择【链接】命令,如图8-22所示.
(6)在弹出的【链接属性】对话框中选择【为ActionScript导出】复选框,在【标识符】文本框中输入music,如图8-23所示,单击【确定】按钮.
图8-22【链接】命令图8-23【链接属性】对话框(7)新建一层,命名为【代码】,选中第1帧,打开【动作】面板,输入如下代码,如图8-24所示.
s=newSound();s.
attachSound("music");图8-24【代码层】第1帧代码-212-中文版FlashCS3动画制作实训教程(8)选中绿色按钮,打开【动作】面板,输入以下代码:on(release){s.
start();play();}(9)选中红色按钮,打开【动作】面板,输入以下代码:on(release){s.
stop();play();}(10)保存文件为【声音控制语句】.
按Ctrl+Enter组合键测试动画的运行效果.
8.
5时间获取语句在Flash中使用时间获取语句,可对电脑中的系统时间进行提取,以实现某些特定的功能(如实现时间显示功能),打开【ActionScript2.
0类】|【核心】|【Date】类别,其时间获取语句如图8-25所示.
图8-25时间获取语句其常用的控制语句如下:newDate-213-第8章创建交互式动画该语句用于构造一个新的Date对象,该对象将保存指定的日期和时间.
其语法格式如下:newDate();newDate([yearOrTimevalue],[month],[date],[hour],[minute],[second],[millisecond]);Date()构造函数最多可使用7个参数(year、month、.
.
.
millisecond).
各参数含义如下.
yearOrTimevalue:可选,如果指定了其他参数,则此数字表示年份(如1965);否则,它表示时间值.
如果该数字表示年份,则0至99之间的值表示1900年至1999年;否则,必须指定表示年份的所有4位数字,如2009.
如果该数字表示时间值(未指定任何其他参数),则为GMT时间1970年1月1日0: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之间的整数(毫秒).
如检索当前日期和时间:varnow_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.
getYear());//输出104,表示2004年Date.
getFullYear按照本地时间返回指定的Date对象中的完整年份值(一个4位数,例如2000).
其语法格式如下:-214-中文版FlashCS3动画制作实训教程today_date.
getFullYear();如:vartoday_date:Date=newDate();trace(today_date.
getFullYear());//输出2009Date.
getMonth按照本地时间返回指定的Date对象中的月份值(0代表一月,1代表二月,依此类推).
其语法格式如下:today_date.
getMonth();如:vartoday_date:Date=newDate();trace(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.
getDay());Date.
getHours按照本地时间返回指定的Date对象中的小时值(0到23之间的整数).
其语法格式如下:today_date.
getHours();如:vartoday_date:Date=newDate();-215-第8章创建交互式动画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_date.
getSeconds());Date.
getMilliseconds按照本地时间返回指定的Date对象中的毫秒数(0到999之间的整数).
其语法格式如下:today_date.
getMilliseconds();如:vartoday_date:Date=newDate();trace(today_date.
getMilliseconds());Date.
getTime返回指定的Date对象自1970年1月1日午夜(通用时间)以来的毫秒数.
其语法格式如下:today_date.
getTime();如:vartoday_date:Date=newDate();trace(today_date.
getTime());Date.
getTimezoneOffset以分钟为单位,返回计算机的本地时间和通用时间之间的差值.
其语法格式如下:today_date.
getTimezoneOffset();-216-中文版FlashCS3动画制作实训教程如:vartoday_date:Date=newDate();trace(today_date.
getTimezoneOffset());//输出-480,北京时间比通用时间慢8小时8.
6习题1.
填空题(1)getURL命令的语法格式为.
(2)Flash常见的全屏显示,可以通过添加命令来实现.
(3)Flash中利用命令可以实现拖曳影片剪辑,使用命令可以停止影片剪辑的拖曳.
2.
简答题(1)简述ActionScript2.
0和ActionScript3.
0的主要区别.
(2)【全局函数】|【时间轴控制】类别提供了哪些动作命令3.
上机题发挥自己的想象和创意,设计制作一个动画,在该动画里尽可能多地使用本章所讲解的命令.
鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主打高防产品,独立服务器免费提供60Gbps/48Mpps攻击防御。机房提供1-10Gbps带宽不限流量服务器,最低丹佛/荷兰机房每月49美元起,洛杉矶机房最低59美元/月起。下面列出部分促销机型的配置信息。机房...
快云科技已稳步运行进两年了 期间没出现过线路不稳 客户不满意等一系列问题 本司资质齐全 持有IDC ICP ISP等正规手续 有独特的网站设计理念 在前几天刚是参加过魔方系统举行的设计大赛拿获最佳设计奖第一名 本公司主营产品 香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机 2020年的国庆推出过一款香港的回馈用户特惠机 已作为传家宝 稳定运行 马上又到了...
georgedatacenter这次其实是两个促销,一是促销一款特价洛杉矶E3-1220 V5独服,性价比其实最高;另外还促销三款特价vps,georgedatacenter是一家成立于2019年的美国VPS商家,主营美国洛杉矶、芝加哥、达拉斯、新泽西、西雅图机房的VPS、邮件服务器和托管独立服务器业务。georgedatacenter的VPS采用KVM和VMware虚拟化,可以选择windows...
cgi文件怎么打开为你推荐
巨星prince去世有几位好莱坞巨星死在2016年xyq.163.cbg.com梦幻西游藏宝阁mole.61.com摩尔大陆?????103838.com39052.com这电影网支持网页观看吗?yinrentangweichentang产品功效好不好?66smsm.com【回家的欲望(回家的诱惑)大结局】 回家的诱惑全集66 67 68 69 70集QOVD快播观看地址??555sss.comms真的是500万像素?官人放题《墨竹题图诗》 大意b.faloo.com那有能看完整小说的在线阅读手机网站(我看得都是有删节的,内容勉强连贯)www.5566.com.cn免费手机游戏
vps论坛 浙江vps 抗投诉vps主机 仿牌空间 vmsnap3 京东云擎 嘟牛 台湾谷歌网址 免空 双十一秒杀 泉州移动 傲盾官网 能外链的相册 上海服务器 免费asp空间申请 国外网页代理 国外代理服务器 双11促销 privatetracker fatcow 更多