1、刘锡冬刘锡冬Actionscript应用刘锡冬刘锡冬刘锡冬AS3.0小知识一)舞台和时间轴。一)舞台和时间轴。从从AS3AS3开始,舞台和时间轴有了全新的解释。开始,舞台和时间轴有了全新的解释。1.1.舞台:它是显示舞台:它是显示FlashFlash元素的平台。元素的平台。2.2.主时间轴:用来控制主时间轴:用来控制FlashFlash元素的显示。元素的显示。3.3.显示对象:指的是显示对象:指的是FlashFlash中一切可以看见的元素,如中一切可以看见的元素,如图形,按钮,电影剪辑,文本,连舞台也是。图形,按钮,电影剪辑,文本,连舞台也是。4.AS34.AS3中的舞台是放置显示对象的最终容
2、器,因此显示中的舞台是放置显示对象的最终容器,因此显示对象只有放在舞台上才可视。对象只有放在舞台上才可视。5.5.舞台和时间轴都是影片剪辑实例,因此每次打开舞台和时间轴都是影片剪辑实例,因此每次打开FlashFlash时系统就已经创建了这两个实例。时系统就已经创建了这两个实例。6.6.舞台是顶级容器,包含了主时间轴,而主时间轴又包舞台是顶级容器,包含了主时间轴,而主时间轴又包含了一切。含了一切。二)二)tracetrace函数;函数;从从as3as3开始,开始,tracetrace支持逗号分开,如支持逗号分开,如trace(ball,apple and banana,taste good)tr
3、ace(ball,apple and banana,taste good)。刘锡冬刘锡冬三)变量;三)变量;1.1.变量和舞台一样,也是容器,比如冰箱里有食品,那变量和舞台一样,也是容器,比如冰箱里有食品,那么可以理解为:么可以理解为:冰箱冰箱 =食品。食品。2.2.公式:变量名公式:变量名 =数据,其中数据,其中=是赋值运算符,顺是赋值运算符,顺序是从右至左,表示把序是从右至左,表示把=右边的数据赋予左边的变量右边的数据赋予左边的变量名。名。3.3.变量合法化:从变量合法化:从as3as3开始,定义变量必须加上关键字开始,定义变量必须加上关键字“varvar”,这很重要。,这很重要。四)属性
4、;四)属性;AS3AS3中,像中,像“_ _属性名属性名 ”已不复存在,都去掉前下划线已不复存在,都去掉前下划线变为变为“属性属性”,如,如_root_root变为变为rootroot等。等。五)类的管理;五)类的管理;as3as3中的舞台和时间轴都是由类来管理,比如,管理舞中的舞台和时间轴都是由类来管理,比如,管理舞台的类叫台的类叫StageStage类,管理主时间轴的类叫类,管理主时间轴的类叫MainTimelineMainTimeline类类.root.root是由是由MainTimelineMainTimeline类创建的对象。类创建的对象。刘锡冬刘锡冬五)五)play()play()
5、命令无效;命令无效;比如有个比如有个mcmc的补间动画的补间动画,在它第一帧写下在它第一帧写下stop()stop(),接,接着在主时间轴写下着在主时间轴写下mc.play()mc.play(),测试发现,测试发现mcmc没动!没动!这个问题与代码的执行顺序有关,这个问题与代码的执行顺序有关,FlashFlash规定先执行主规定先执行主时间轴时间轴mc.playmc.play代码,再执行影片实例中代码,再执行影片实例中stop()stop()代代码,因此刚刚码,因此刚刚playplay就就stopstop了了.只要在主时间轴第二帧写下只要在主时间轴第二帧写下mc.play()mc.play()
6、就就OKOK,而不要,而不要写在第一帧。这是帧循环的结果。写在第一帧。这是帧循环的结果。六)六)thisthis关键字;关键字;thisthis关键字是对当前对象的引用,例如在主时间轴中关键字是对当前对象的引用,例如在主时间轴中thisthis就指的是主时间轴(就指的是主时间轴(this=root),this=root),在电影剪辑中在电影剪辑中thisthis就指的是电影剪辑(就指的是电影剪辑(this=MovieClip)this=MovieClip)。刘锡冬刘锡冬七)不能用七)不能用MovieClipMovieClip类的属性名和方法名;类的属性名和方法名;在时间轴上写代码时,不能用在时
7、间轴上写代码时,不能用MovieClipMovieClip类的属类的属性名和方法名作为变量名。例如性名和方法名作为变量名。例如play,stop,x,yplay,stop,x,y等等,像等等,像var xvar x就是就是错的。错的。八)函数;八)函数;as3as3中删除了很多全局函数,中删除了很多全局函数,stop()stop()不再是全局不再是全局函数,而是方法,即函数,而是方法,即stop()=this.stop()stop()=this.stop()。刘锡冬刘锡冬l1 1、play play 作用:可以指定动画继续播放。作用:可以指定动画继续播放。在播放电影时,除非另外指定,否则从第在
8、播放电影时,除非另外指定,否则从第1 1帧播帧播放。如果动画播放进程被放。如果动画播放进程被gotoAndStopgotoAndStop语句停止,语句停止,则必须使用则必须使用playplay语句才能重新播放。该命令无语句才能重新播放。该命令无参数,直接使用,例如:参数,直接使用,例如:playplay();();l 2 2、stop stop 作用:停止当前播放的电影,该作用:停止当前播放的电影,该动作最常见的运用是使用按钮控制电影剪辑。动作最常见的运用是使用按钮控制电影剪辑。例如,如果需要某个动画在播放完毕后停止而例如,如果需要某个动画在播放完毕后停止而不是循环播放,则可以在动画的最后一帧
9、附加不是循环播放,则可以在动画的最后一帧附加stopstop()动作。该命令无参数,直接使用,例如:()动作。该命令无参数,直接使用,例如:stopstop();();动作脚本基本命令:时间轴控制命令动作脚本基本命令:时间轴控制命令(MovieClip(MovieClip类)类)刘锡冬刘锡冬举例:对影片剪辑进行控制(1.fla)/控制两个影片剪辑的播放和停止blueball1.stop();redball1.stop();b_btn.addEventListener(MouseEvent.CLICK,bluemovie);functionbluemovie(e:MouseEvent)redba
10、ll1.stop();blueball1.play();r_btn.addEventListener(MouseEvent.CLICK,redmovie);functionredmovie(e:MouseEvent)redball1.play();blueball1.stop();提问:希望每个球的运动都从起点开始?提问:希望每个球的运动都从起点开始?刘锡冬刘锡冬快进和后退3 3、nextFrame nextFrame 作用:跳至下一帧并停止播放。作用:跳至下一帧并停止播放。该命令无参数,直接使用,该命令无参数,直接使用,例如:例如:nextFramenextFrame();();4 4、pr
11、evFrame prevFrame 作用:跳至前一帧并停止播放。作用:跳至前一帧并停止播放。该命令无参数,直接使用,该命令无参数,直接使用,例如:例如:prevFrameprevFrame();();刘锡冬刘锡冬举例(2.fla)mymc.stop();fastB.addEventListener(MouseEvent.CLICK,fastmovie);functionfastmovie(event:MouseEvent)mymc.nextFrame();preB.addEventListener(MouseEvent.CLICK,premovie);functionpremovie(even
12、t:MouseEvent)mymc.prevFrame();刘锡冬刘锡冬5.gotoAndPlay 5.gotoAndPlay l形式:形式:gotoAndPlaygotoAndPlay(frame,sceneframe,scene ););l作用:跳转并播放,跳转到指定场景的指定帧,作用:跳转并播放,跳转到指定场景的指定帧,并从该帧开始播放,如果没有指定场景,则将并从该帧开始播放,如果没有指定场景,则将跳转到当前场景的指定帧。跳转到当前场景的指定帧。l参数:参数:scenescene,跳转至场景的名称或编号;,跳转至场景的名称或编号;frameframe,跳转至帧的名称或帧数。,跳转至帧的名
13、称或帧数。刘锡冬刘锡冬举例(3.fla)stop();nex_btn.addEventListener(MouseEvent.CLICK,nextscene);functionnextscene(event:MouseEvent)this.gotoAndStop(1,场景2);中间要有空格this 是表示是表示当前当前对象对象的特殊名称的特殊名称刘锡冬刘锡冬帧标签的概念l在帧的属性栏里可以输入帧标签,使用了帧标签可以用gotoAndPlay等等语句来播放该帧标签所开始的位置。用帧标签的好用帧标签的好处是你无需理会关键帧的数值,在任何地处是你无需理会关键帧的数值,在任何地方播放这段动画,都可以含
14、义明了的操作,方播放这段动画,都可以含义明了的操作,并且容易解读和记忆。并且容易解读和记忆。l例如:例如:mymov.gotoAndPlaymymov.gotoAndPlay(”endend”););刘锡冬刘锡冬l6 6、gotoAndStop gotoAndStop 形式:形式:gotoAndStopgotoAndStop(frame,sceneframe,scene ););作用:跳转并停止播放,跳转到指定场景的指作用:跳转并停止播放,跳转到指定场景的指定帧并从该帧停止播放,如果没有指定场景,定帧并从该帧停止播放,如果没有指定场景,则将跳转到当前场景的指定帧。则将跳转到当前场景的指定帧。l
15、参数:参数:scenescene,跳转至场景的名称或编号;,跳转至场景的名称或编号;frame,frame,跳转至帧的名称或数字。跳转至帧的名称或数字。l例如:动画跳转到场景例如:动画跳转到场景2 2第第1 1帧并停止播放:帧并停止播放:gotoAndStopgotoAndStop(1,1,场景场景 22););刘锡冬刘锡冬课本案例:2(改进).flapic.stop();i=1;functionprevmovie(event:MouseEvent):voidpic.gotoAndStop(i=i-5);prev_button.addEventListener(MouseEvent.CLICK
16、,prevmovie);functionnextmovie(event:MouseEvent):voidpic.gotoAndStop(i=i+5);next_button.addEventListener(MouseEvent.CLICK,nextmovie);提问提问if刘锡冬刘锡冬7 7、nextScene nextScene 作用:跳至下一个场景的第作用:跳至下一个场景的第1 1帧帧并停止播放。如果目前的场景是最后一个场景,并停止播放。如果目前的场景是最后一个场景,则会跳至第则会跳至第1 1个场景的第个场景的第1 1帧。帧。该命令无参该命令无参数,直接使用,例如:数,直接使用,例如:n
17、extScenenextScene();();8 8、prevScene prevScene 作用:跳至前一个场景并停止作用:跳至前一个场景并停止播放。如果目前的场景是第播放。如果目前的场景是第1 1个场景,则会跳至个场景,则会跳至最后一个场景的第最后一个场景的第1 1帧。帧。该命令无参数,直该命令无参数,直接使用,例如:接使用,例如:prevSceneprevScene();();刘锡冬刘锡冬动画中声音的停止动画中声音的停止l补充:补充:stopAll stopAll 作用:使当前播放的作用:使当前播放的所所有声音停止播放,但是不停止动画的播放有声音停止播放,但是不停止动画的播放。该命令无参
18、数,直接使用,注意:调用该该命令无参数,直接使用,注意:调用该函数必须同时指定函数必须同时指定“SoundMixerSoundMixer”类别,类别,例如:例如:SoundMixer.stopAll(SoundMixer.stopAll(););刘锡冬刘锡冬案例:添加音乐控制按钮添加音乐控制按钮.flal也可以按钮控制,例如用于引导页或者应也可以按钮控制,例如用于引导页或者应用程序的声音控制。用程序的声音控制。刘锡冬刘锡冬1.1.鼠标双击事件鼠标双击事件使用双击使用双击,有两个关键的地方有两个关键的地方一是需要先确保一是需要先确保doubleClickEnableddoubleClickEna
19、bled是打开是打开状态,默认状态为关闭。状态,默认状态为关闭。btn.doubleClickEnabled=true;btn.doubleClickEnabled=true;二是检查鼠标的可用性二是检查鼠标的可用性.btn.mouseEnabled.btn.mouseEnabled默认状态下值为默认状态下值为true.true.如添加如添加btn.mouseEnabled=false;btn.mouseEnabled=false;按钮将失效按钮将失效,当然双击也无法使用了。当然双击也无法使用了。刘锡冬刘锡冬案例案例doubleclk.fladoubleclk.flabtn.doubleCli
20、ckEnabled=true;btn.addEventListener(MouseEvent.DOUBLE_CLICK,stopmovie);functionstopmovie(event:MouseEvent)mymc.stop();刘锡冬刘锡冬键盘的控制键盘输入经常要获取按钮编码,可以使用以下两个键盘输入经常要获取按钮编码,可以使用以下两个属性:属性:lkeyboardEvent.charCode;keyboardEvent.charCode;lkeyboardEvent.keyCode;keyboardEvent.keyCode;这两个属性的区别在于,后者检查的是键盘上按这两个属性的区别
21、在于,后者检查的是键盘上按下的键,而前者检查的是实际输入的字符。例如,下的键,而前者检查的是实际输入的字符。例如,输入输入“X X”和和“x x”,由于两个字符不同,所以,由于两个字符不同,所以“keyboardEvent.charCodekeyboardEvent.charCode”的结果不同,但是的结果不同,但是由于它们用的是同一个按键,所以他们的由于它们用的是同一个按键,所以他们的“keyboardEvent.keyCodekeyboardEvent.keyCode”结果相同。结果相同。charCode属性记录了按下属性记录了按下的键的字符编号,也就是的键的字符编号,也就是ASCII码。
22、每个字符都对应码。每个字符都对应一个一个ASCII码。码。keyCode属性记录了按下属性记录了按下的键控代码值。的键控代码值。用户定义的用户定义的对象名对象名刘锡冬刘锡冬键盘响应事件l键盘事件的处理简单一些,只需要监听和键盘事件的处理简单一些,只需要监听和响应键盘事件。响应键盘事件。l键盘事件侦听器捕获整个舞台的键盘输入键盘事件侦听器捕获整个舞台的键盘输入,即直接使用即直接使用stagestage来做为侦听对象来做为侦听对象 。也。也可以为舞台上的特定显示对象编写事件侦可以为舞台上的特定显示对象编写事件侦听器;当对象具有焦点时将触发该事件侦听器;当对象具有焦点时将触发该事件侦听器。听器。刘锡
23、冬刘锡冬案例stage.addEventListener(KeyboardEvent.KEY_DOWN,isDown);functionisDown(e:KeyboardEvent)if(e.keyCode=Keyboard.LEFT)trace(leftkeyispressed!);KeyboardEvent是flash.event包中的类。在响应用户的键盘输入操作时,FlashPlayer将调度KeyboardEvent对象。有两种类型的键盘事件:KeyboardEvent.KEY_DOWN和KeyboardEvent.KEY_UP Keyboard是flash.ui包中的类。该类用于构建
24、用户可使用标准键盘控制的界面。Keyboard类的属性是一些常数,这些常数表示控制游戏时最常用的键。刘锡冬刘锡冬案例:方向键控制小游戏(上下左右)stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyboardEvent);functiononKeyboardEvent(event:KeyboardEvent):voidif(event.keyCode=Keyboard.LEFT)box.x-=10;if(event.keyCode=Keyboard.RIGHT)box.x+=10;if(event.keyCode=Keyboard.DOWN)b
25、ox.y+=10;if(event.keyCode=Keyboard.UP)box.y-=10;刘锡冬刘锡冬上机问题l2.fla的影片剪辑元件的控制lDoubleclickl键盘控制刘锡冬刘锡冬颜色案例:设置颜色l每个显示对象都有每个显示对象都有 transform transform 属性,(它是属性,(它是 Transform Transform 类的实例),还包含有关应用到显类的实例),还包含有关应用到显示对象的各种变形的信息(如旋转、缩放或位示对象的各种变形的信息(如旋转、缩放或位置的更改等)。除了有关几何变形的信息之外,置的更改等)。除了有关几何变形的信息之外,Transform T
26、ransform 类还包括类还包括 colorTransform colorTransform 属性,属性,它是它是 ColorTransform ColorTransform 类的实例类的实例,并提供访问并提供访问来对显示对象进行颜色调整。来对显示对象进行颜色调整。刘锡冬刘锡冬l要访问显示对象的颜色信息,可以使用如下代码:要访问显示对象的颜色信息,可以使用如下代码:var colorInfo:ColorTransform=myDisplayObject var colorInfo:ColorTransform=myDisplayObject.transform.colorTransform;
27、.transform.colorTransform;l创建创建 ColorTransform ColorTransform 实例后,可以通过设置属性值来实例后,可以通过设置属性值来更改显示对象的颜色。要在进行任何更改后更新显示对更改显示对象的颜色。要在进行任何更改后更新显示对象,必须将象,必须将ColorTransform ColorTransform 实例重新分配给实例重新分配给 transform.colorTransform transform.colorTransform 属性。属性。例如:例如:var colorInfo:ColorTransform=var colorInfo:Co
28、lorTransform=myDisplayObject.transform.colorTransform;.transform.colorTransform;/。此处进行某些颜色转换。此处进行某些颜色转换。myDisplayObject.transform.colorTransform=myDisplayObject.transform.colorTransform=colorInfo;/colorInfo;/提交更改提交更改刘锡冬刘锡冬案例:color.flabtn_1.addEventListener(MouseEvent.CLICK,changc1);functionchangc1(e
29、:MouseEvent)varcolor1:ColorTransform=car.transform.colorTransform;color1.color=0 xFF9900;car.transform.colorTransform=color1;btn_2.addEventListener(MouseEvent.CLICK,changc2);functionchangc2(e:MouseEvent)varcolor:ColorTransform=newColorTransform();color.color=0 xFF9999;car.transform.colorTransform=co
30、lor;刘锡冬刘锡冬相似案例:服装网站l两种创建ColorTransform类的对象的方法。刘锡冬刘锡冬建立网站链接:建立网站链接:navigateToURLnavigateToURL命令命令l形式:形式:navigateToURLnavigateToURL(URLURL,目标);,目标);l作用:将指定的作用:将指定的URLURL的文件加载到浏览器窗口中,或是的文件加载到浏览器窗口中,或是将变量传递到指定将变量传递到指定URLURL的应用程序中。的应用程序中。l_blank_blank,在新窗口显示目标网页,在新窗口显示目标网页 l_self_self,在当前窗口显示目标网页,在当前窗口显示
31、目标网页 l_parent_parent,框架网页中当前整个窗口位置显示目标网页,框架网页中当前整个窗口位置显示目标网页 l_top_top,框架网页中在上部窗口中显示目标网页,框架网页中在上部窗口中显示目标网页例如,在新打开的浏览器窗口中打开指定的网站:例如,在新打开的浏览器窗口中打开指定的网站:var myURL:URLRequest=new URLRequest(http:/var myURL:URLRequest=new URLRequest(http:/ navigateToURL(new URLRequest(URLRequest(“http:/http:/ k”););刘锡冬刘锡
32、冬单击按钮导航到一个单击按钮导航到一个 URLURL。/linkButton/linkButton 是该按钮的实例名称:是该按钮的实例名称:linkButton.addEventListener(MouseEvent.CLICK,linkButton.addEventListener(MouseEvent.CLICK,gotoAdobeSite);gotoAdobeSite);function gotoAdobeSite(event:MouseEvent):void function gotoAdobeSite(event:MouseEvent):void var adobeURL:URLRe
33、quest=new var adobeURL:URLRequest=new URLRequest(http:/ startDrag()方法方法;松开鼠标按键时,通知对象;松开鼠标按键时,通知对象停止跟随鼠标光标停止跟随鼠标光标-调用调用 stopDrag()方法方法。刘锡冬刘锡冬lstartDragstartDrag(参数参数1:Boolean=false,1:Boolean=false,参数参数2:Rectangle=null2:Rectangle=null)开始拖曳鼠标)开始拖曳鼠标l参数参数1 1 指定是将可拖动的指定是将可拖动的 Sprite Sprite 锁定到鼠标位锁定到鼠标位置中
34、央置中央 (true)(true),还是锁定到用户首次单击该,还是锁定到用户首次单击该 Sprite Sprite 时所在的点上时所在的点上 ;参数;参数2 2 指定指定 Sprite Sprite 的的约束矩形。约束矩形。l用法:用法:mov.startDrag(true);/mov.startDrag(true);/鼠标在影片剪辑的原点位置。鼠标在影片剪辑的原点位置。stopDragstopDrag();();/停止拖曳鼠标,无参数停止拖曳鼠标,无参数刘锡冬刘锡冬举例:拖曳鼠标.flalMouse.hide();lMouse.show();系统鼠标对象的显示与隐藏属性。/改变系统鼠标外观,
35、mov为实例名mov.startDrag(true);Mouse.hide();mov.addEventListener(MouseEvent.MOUSE_DOWN,downpic);functiondownpic(e:MouseEvent)mov.gotoAndStop(2);mov.addEventListener(MouseEvent.MOUSE_UP,uppic);functionuppic(e:MouseEvent)mov.gotoAndStop(1);刘锡冬刘锡冬载入外部图像与动画若要加载外部图像和动画文件,若要加载外部图像和动画文件,ActionScript ActionScri
36、pt 需要执行以需要执行以下下 4 4 个操作:个操作:1.1.用文件的用文件的 URL URL 创建一个新的创建一个新的 URLRequest URLRequest 对象。对象。2.2.创建一个新的创建一个新的 Loader Loader 对象。对象。3.3.调用调用 Loader Loader 对象的对象的 load()load()方法,并以参数形式传递方法,并以参数形式传递 URLRequest URLRequest 实例。实例。4.4.对显示对象容器(如对显示对象容器(如 Flash Flash 文档的主时间轴)调用文档的主时间轴)调用 addChild()addChild()方法,将
37、方法,将 Loader Loader 实例添加到显示列表中。实例添加到显示列表中。varrequest:URLRequest=newURLRequest(“*.jpg”);varloader:Loader=newLoader();loader.load(request);addChild(loader);/创建创建loaderloader实例,提供一个容器,利用实例,提供一个容器,利用addChildaddChild()方法()方法把外部对象添加到可视化列表中,从而显示把外部对象添加到可视化列表中,从而显示刘锡冬刘锡冬案例:载入外部文件varrequest:URLRequest=newURLR
38、equest(“coolpic.jpg”);varrequest1:URLRequest=newURLRequest(“coolmovie.swf”);varloader:Loader=newLoader();varloader1:Loader=newLoader();pic_button.addEventListener(MouseEvent.MOUSE_DOWN,loadpic);functionloadpic(event:MouseEvent)loader.load(request);mov.addChild(loader);swf_button.addEventListener(Mou
39、seEvent.MOUSE_DOWN,loadswf);functionloadswf(event:MouseEvent)loader1.load(request1);mov.addChild(loader1);刘锡冬刘锡冬如何删除显示对象?lremoveChild()removeChild()和和 removeChildAt()removeChildAt()方法可以方法可以从容器的子级列表中删除显示对象实例。从容器的子级列表中删除显示对象实例。d_btn.addEventListener(MouseEvent.CLICK,delpic);functiondelpic(e:MouseEvent
40、)movie.removeChild(loader);movie.removeChild(loader1);/如果没有全部载入,该方法不完善刘锡冬刘锡冬fscommandfscommand命令命令 制作完成的制作完成的FlashFlash影片通常都是在影片通常都是在FlashFlash播放器播放器中播放的。中播放的。fscommandfscommand命令可以实现对影片浏览器命令可以实现对影片浏览器(Flash Player)(Flash Player)的控制。的控制。语法格式如下:语法格式如下:fscommandfscommand(命令,参数);(命令,参数);包含两个参数项,一个是可以执行
41、的命令(双引号包含两个参数项,一个是可以执行的命令(双引号引起来),另一个是执行命令的参数。引起来),另一个是执行命令的参数。刘锡冬刘锡冬浏览器控制命令与显示输出命令命令命令参数参数功能说明功能说明quitquit没有参数关闭影片播放器fullscreenfullscreentrue/false用于控制是否让影片播放器成为全屏播放模式,true为是,false为不是allowscaleallowscaletrue/false是否可以自动缩放,true可以配套窗口大小缩放动画内容对象,false对象以原动画内容的大小显示.测试影片时可用showmenushowmenutrue/falseTrue
42、代表用户在影片画面上右击时,可以弹出全部命令的右键菜单,false则表示命令菜单里只显示”about shockwave“信息。trapallkeystrapallkeystrue/false用于控制播放器禁用快捷键的功能,true为是,false为不是,这个命令通常用于在flash全屏幕播放时,避免用户按下esc键,解除全屏幕播放。execexec应用程序的路径从flash播放器指向其它应用软件,测试影片时可用刘锡冬刘锡冬以服装网站文件为例并非表中所列的全部命令在所有应用程序中都可并非表中所列的全部命令在所有应用程序中都可用:用:l这些命令在这些命令在 Web Web 播放器中都不可用。播放
43、器中都不可用。l所有这些命令在独立的应用程序(例如,放映所有这些命令在独立的应用程序(例如,放映文件)中都可用。文件)中都可用。l只有只有 allowscale allowscale 和和 exec exec 在测试影片播放器在测试影片播放器中可用。中可用。刘锡冬刘锡冬课本案例分析课本案例分析:fscommand:fscommand函数影片函数影片abablFlash player9Flash player9中创建播放器生成中创建播放器生成exeexe文件文件l如果使用如果使用 exec exec 命令调用应用程序,该应命令调用应用程序,该应用程序必须位于名为用程序必须位于名为 fscomma
44、nd fscommand 的子目的子目录中。录中。exec exec 命令只在命令只在 Flash Flash 放映文件放映文件内起作用。内起作用。刘锡冬刘锡冬影片a中的脚本b_btn.addEventListener(MouseEvent.CLICK,bmovie);functionbmovie(e:MouseEvent)fscommand(exec,b.exe);q_btn.addEventListener(MouseEvent.CLICK,qmovie);functionqmovie(e:MouseEvent)fscommand(quit);刘锡冬刘锡冬全屏播放的另一种方法lstage.
45、displayState=StageDisplayState.FULL_SCREEN;l要退出全屏模式,请将displayState属性设置为StageDisplayState.NORMAL:l测试时无效刘锡冬刘锡冬文本数据的处理lFlashFlash的交互实际上是指人和程序之间的数据输入的交互实际上是指人和程序之间的数据输入和输出过程:输入的内容,可以是触发事件,例和输出过程:输入的内容,可以是触发事件,例如鼠标单击按钮,也可以是各种数据,例如输入如鼠标单击按钮,也可以是各种数据,例如输入字符串、数字等,这就需要字符串、数字等,这就需要“输入文本输入文本”,而输,而输出的数据,则可以使用出的
46、数据,则可以使用“动态文本动态文本”进行显示。进行显示。l动态文本与输入文本可以被看成是特殊的元件,动态文本与输入文本可以被看成是特殊的元件,在舞台上创建出来的每个动态文本,都是元件的在舞台上创建出来的每个动态文本,都是元件的实例。如果希望控制动态文本和输入文本的属性,实例。如果希望控制动态文本和输入文本的属性,就必须设置他的名称。如就必须设置他的名称。如my_txtmy_txt刘锡冬刘锡冬l在时间轴上选中要添加在时间轴上选中要添加asas的帧,打开动作面板,的帧,打开动作面板,lMy_txt.My_txt.texttext=“I am a text!I am a text!”;lMy_txt
47、.My_txt.textColortextColor=0 x6600ff;=0 x6600ff;lMy_txt.My_txt.alphaalpha=0.9;=0.9;lMy_txt.My_txt.scaleXscaleX=1;=1;lMy_txt.My_txt.scaleYscaleY=1.5;=1.5;刘锡冬刘锡冬案例:看图识字Mouse.hide();hand_mc.startDrag(true);cow_mc.addEventListener(MouseEvent.CLICK,over);functionover(me:MouseEvent)name_txt.text=牛;cow_mc.
48、addEventListener(MouseEvent.MOUSE_OUT,out);functionout(me:MouseEvent)name_txt.text=;pig_mc.addEventListener(MouseEvent.CLICK,over1);functionover1(me:MouseEvent)name_txt.text=猪;pig_mc.addEventListener(MouseEvent.MOUSE_OUT,out1);functionout1(me:MouseEvent)name_txt.text=;刘锡冬刘锡冬mouse_mc.addEventListener
49、(MouseEvent.CLICK,over3);functionover3(e:MouseEvent)name_txt.text=老鼠;mouse_mc.addEventListener(MouseEvent.MOUSE_OUT,out3);functionout3(e:MouseEvent)name_txt.text=;tiger_mc.addEventListener(MouseEvent.CLICK,over4);functionover4(e:MouseEvent)name_txt.text=老虎;tiger_mc.addEventListener(MouseEvent.MOUSE_
50、OUT,out4);functionout4(e:MouseEvent)name_txt.text=;刘锡冬刘锡冬案例:圆柱体的体积count_btn.addEventListener(MouseEvent.CLICK,count);functioncount(event:Event)varr=parseFloat(r_txt.text);varh=parseFloat(h_txt.text);varv=Math.PI*r*r*h;v_txt.text=String(Math.round(v*1000)/1000);erase_btn.addEventListener(MouseEvent.C