1、用鼠标双击“场景一”将其更改为“首页”, 用鼠标双击“场景二”将其更改为“游戏”,结果如图2-4所示。图2-4 场景面板(16)第15步:将鼠标移动至“时间轴”面板“背景层”第1帧处,选中第“1”帧,单击鼠标右键,在快捷菜单中选择“动作”。 在“脚本”编辑器中,输入如下代码:stop();(17)第16步:用鼠标选择“背景层”的“rounded green play”,单击鼠标右键,在快捷菜单中选择“动作”。在“脚本”编辑器中,输入如下代码:on (release) gotoAndPlay(游戏,1);stopAllSounds();(18)第17步:用鼠标选择“时间轴”的“场景”按钮,在展开
2、的下菜单中选择“游戏”场景,如图2-5所示。场景知识请阅读项目相关理论知识2.3.1。图2-5 “场景”下菜单选择“游戏”场景(19)第18步:双击图层面板的中的“图层1”,将“图层1”更名为“游戏背景层”。(20)第19步:选择菜单“窗口库”命令,单击选择“库”面板中的影片剪辑“Background_game”。(21)第20步:按住鼠标左键将影片剪辑“Background_game”拖放至舞台中。选择影片剪辑“Background_game”的属性面板,在“宽”文本框中输入“800”,在“高”文本框中输入“600”,在“X”文本框中输入“0”,“Y”文本框中输入“0”。(22)第21步:选
3、择菜单“窗口库”命令,单击选择“库”面板中的声音“ok.wav”。(23)第22步:在舞台用鼠标选择“ok.wav”,单击鼠标右键,在快捷菜单中选择“链接”。(24)第23步:在弹出的“链接属性”窗口中的“标识符”文本框中命名为“oksound”,在“链接”复选框中选择“为ActionScript导出”和“在第一帧导出”两个选项,如图2-6所示。图2-6 “链接属性”面板(25)第24步:选择菜单“窗口库”命令,单击选择“库”面板中的声音“fail.wav”。(26)第25步:在舞台用鼠标选择“fail.wav”,单击鼠标右键,在快捷菜单中选择“链接”。(27)第26步:在弹出的“链接属性”窗
4、口中的“标识符”文本框中命名为“failsound”,在“链接”复选框中选择“为ActionScript导出”和“在第一帧导出”两个选项。(28)第27步:选择菜单“窗口库”命令,单击选择“库”面板中的声音“cheer.mp3”。(29)第28步:在舞台用鼠标选择“cheer.mp3”,单击鼠标右键,在快捷菜单中选择“链接”。(30)第29步:在弹出的“链接属性”窗口中的“标识符”文本框中命名为“cheersound”,在“链接”复选框中选择“为ActionScript导出”和“在第一帧导出”两个选项。(31)第30步:将鼠标移动至“时间轴”面板的“游戏背景”层第1帧处,选中第“1”帧,单击鼠
5、标右键,在快捷菜单中选择“动作”。/拼图错识的次数_global.errortimes=0; /需要拼图的个数_global.total=8;/创建一个声音对象playOkSound=new Sound();/为 playOkSound声音对象附加上声音playOkSound.attachSound(oksound)playfailSound=new Sound();playfailSound.attachSound(failsoundplaycheerSound=new Sound();playcheerSound.attachSound(cheersound以上代码实现了记录变量的初始化和
6、为相应影片剪辑对象附加声音。声音知识请阅读项目相关理论知识2.3.2;变量知识请阅读项目相关理论知识2.3.3(32)第31步:新建一个“图层3”,双击图层面板的中的“图层3”,将“图层3”更名为“信息层”。(33)第32步:选择“信息层”,添加五个文本对象,属性设置如表2-1所示。表2-1 文本对象属性列表文本类型文本命名文本初始内容XY字体字号动态文本successtxt空197433幼圆 28remaintext32183494幼圆20errortxt22251820 静态文本还剩下 种动物待拼119493你总共错了 次517(34)第33步:将鼠标移动至“时间轴”面板“游戏背景层”第1
7、帧处,选中第“1”帧,单击鼠标右键,在快捷菜单中选择“动作”,在“脚本”编辑器中的“playcheerSound.attachSound()”语句之后追加如下代码:function pressForDrag(place:String)/判断板块是否在地图的正确位置上if(eval(place)._x!=eval(eval(place)+bottom)._x&eval(place)._y!)._y) /记住板块初始x坐标的值x1=eval(place)._x;/记住板块初始y坐标的值 y1=eval(place)._y;/板块开始拖动 eval(place).startDrag(); press
8、ForDrag函数实现了对所有板块的拖动操作。函数知识请阅读项目相关理论知识2.3.4;逻辑表达式知识请阅读项目相关理论知识2.3.5;eval函数知识请阅读项目相关理论知识2.3.6;影片剪辑知识请阅读项目相关理论知识2.3.7。(35)第34步:将鼠标移动至“时间轴”面板“游戏背景层”第1帧处,选中第“1”帧,单击鼠标右键,在快捷菜单中选择“动作”。在“脚本”编辑器中,“pressForDrag”函数体之后追加如下代码:Function pressForRealse(place: /停止拖动eval(place).stopDrag(); /与撞击点是否相交 if(eval(place).h
9、itTest(eval(eval(place)+hit) /当板块不在地图正确的位置时 /播放板块拼图正确的声音playOkSound.start();/如果拼图全部正确完成 if(_global.total=0) /播放拼图成功的声音 playcheerSound.start();_root.successtxt.text=你真聪明! /将板块放在正确位置上eval(place)._x=eval(eval(place)+)._x; eval(place)._y=eval(eval(place)+)._y; /显示剩余要拼的板块_global.total=_global.total-1; _r
10、oot.remaintxt.text=_global.total; else /板块回到初始位置eval(place)._x=x1; eval(place)._y=y1;/播放板块拼错的声音 playfailSound.start();/显示拼错的次数 _global.errortimes+; _root.errortxt.text=_global.errortimes; pressForRealse函数实现了对所有板块的拖动后释放的操作。(36)第35步:选择菜单“窗口库”命令,单击选择如表2-2的所示的影片剪辑并拖放在“游戏层”,在影片剪辑的属性面板的相应属性项设置成如表2-2所示。表2-
11、2 拼图底板影片剪辑属性设置属性名称影片剪辑名称影片剪辑命名pandabottom 47109pandahit 89148catbottom 197 108 cathitcathit239horsebottom horsebottom347horsehit388elephantbottom500elephanthit544koalabottom49250koalahit91293rabbitbottom199rabbithit242penguinbottom349penguinhit393tigerbottomtigerhit选择菜单“控制菜单测试影片”命令,影片进行游戏场景结果如下图2-7所
12、示。图2-7 拼图底板设置结果(37)第36步:选择菜单“窗口库”命令,单击选择如表2-3所示的影片剪辑并拖放在“游戏层”,对相应影片剪辑的属性面板中的属性项设置成如表2-3所示。表2-3 拼图动物影片剪辑属性设置panda660252dog145375cat 16penguin658129horse horse403koala531elephant274tiger659(38)选择菜单“控制菜单测试影片”命令,影片进入游戏场景结果如下图2-8所示。图2-8 拼图动物影片剪辑设置结果(39)第37步:为“游戏层”的拼图底板设置相应的静态文本,静态文本相应设置如表2-4所示。表2-4 静态文本属
13、性列表颜色熊猫76215#000033猫238马392象547考拉78360狗企鹅382老虎537(40) 第38步:在pressForRealse函数体后追加如下代码:_root.panda.onPress=function( ) pressForDrag(panda);_root.panda.onRelease=function( ) pressForRealse(以上代码实现 “熊猫”影片剪辑的拖动操作。(41)选择菜单“控制菜单测试影片”命令,当“熊猫”影片剪辑拼图正确的的影片结果如图2-9所示。图2-9 “熊猫”影片剪辑拼图正确的的影片结果(42) 第39步:在_root.panda
14、.onRelease=function( )函数体后追加如下代码:_root.cat.onPress=function( )cat_root.cat.onRelease=function( )以上代码实现 “猫”影片剪辑的拖动操作。(43) 第40步:在_root.cat.onPress=function( )函数体后追加如下代码:_root.horse.onPress=function( )horse_root.horse.onRelease=function( ) 以上代码实现 “马”影片剪辑的拖动操作。(44) 第41步:在_root.horse.onPress=function( )函
15、数体后追加如下代码:_root.elephant.onPress=function( )elephant_root.elephant.onRelease=function( )以上代码实现 “大象”影片剪辑的拖动操作。(45) 第42步:在_root.elephant.onPress=function( )函数体后追加如下代码:_root.koala.onPress=function( )koala_root.koala.onRelease=function( )以上代码实现 “考拉”影片剪辑的拖动操作。(46) 第43步:在_root.koala.onPress=function( )函数体
16、后追加如下代码:_root.dog.onPress=function( )dog_root.dog.onRelease=function( )以上代码实现 “狗”影片剪辑的拖动操作。(47) 第44步:_root.dog.onPress=function函数体后追加如下代码:_root.penguin.onPress=function( )penguin_root.penguin.onRelease=function( )以上代码实现 “企鹅”影片剪辑的拖动操作。(48) 第45步:在_root.penguin.onPress=function( )函数体后追加如下代码:_root.tiger
17、.onPress=function( )tiger_root.tiger.onRelease=function( )以上代码实现 “老虎”影片剪辑的拖动操作。(49)选择菜单“控制菜单测试影片”命令,游戏中某一时刻的影片结果结果如图2-10所示,游戏拼图成功完成影片结果如图2-11所示。图2-10 游戏中某一时刻的影片结果 图2-11 游戏拼图成功完成影片结果2.3 项目相关理论知识2.3.1 场景场景(scene)可以理解一个独立时间轴上所有元素的播放。在Flash中,场景都是按主题进行组织。例如,项目二就是用一个单独的场景用于游戏头片尾字幕、流戏简介等,另外一个场景是拼图游戏。 注意:在包
18、含多个场景的Flash文档时,当影片发布播放后,场景是按“场景”面板中列出的顺序进行播放,所以可以通过更改场景面板顺序来改变影片播放的顺序。除了在项目一中提到的gotoAndPlay函数和gotoAndStop函数是常用的控制场景播放外,还有表2-13中两个函数也是通常用来控制场景播放并也是属于时间轴控制函数。表2-13 场景播放函数命令语法中文语义nextScenenextScene()影片转到下一场景的第1帧播放prevSceneprevScene()影片转到前一场景的第1帧播放使用场景类似于将几个影片文件一起创建一个更大的影片文件,每个场景都有一个独立的时间轴,当影片播放到一个场景的最后
19、一帧时,影片将继续播放到下一个场景。当发布影片文件时,每个场景的时间轴会按顺序合并为一个时间轴,影片文件编译后,犹如使用一个场景创建了该FLA文件。使用场景会产生会有以下缺点:(1).场景会使Flash文档编辑不便,尤其是在多个创作环境中进行编辑时。使用该FLA文档的人员都必须在一个FLA文件内搜索多个场景来查找代码和资源。建议改为加载内容或使用影片剪辑。(2).场景很容导致影片文件急剧膨胀。因此,当影片文件可能会较大时,建议不要使用场景。(3).场景要求用户连续下载整个影片文件,即使用户不愿或不想观看全部文件,用户都必须连续下载整个文件,而不是只加载他们实际需要的内容。如果不使用场景,则用户
20、可以在浏览影片文件的过程中控制想要下载的内容。(4).多场景编辑ActionScript可能会产生意外的结果。因为每个场景的时间轴都压缩至一个时间轴,所以可能会遇到涉及ActionScript和场景的错误,这通常需要用户进行额外的复杂调试。2.3.2 声音控制声音(Sound)是多媒体的重要组成元素,在Flash中声音分为两种类型:事件声音和音频流。事件声音必须完全下载后才能开始播放,通常它将一直连续播放,除非强制停止;音频流是一种流媒体,音频流只要部分下载就可以播放,然后是一边下载,一边播放。Flash使用声音的方式也丰富多样。1.在时间轴中使用声音在时间轴中使用声音是Flash中声音最常使
21、用的方式,这种方式把声音作为音频流进行播放。下面以在时间轴上使用C盘上的music.mp3为例说明在时间轴中使用声音的设置。(1).将声音素材导入舞台。用户可以选择菜单栏下“文件导入导入到库”来导入声音文件,在“导入”对话框中选择“c:music.mp3”。(2).选择要使用声音的关键帧。(3).将要使用的声音从库中拖放至舞台。(4).对声音进行属性设置。在帧属性面板对该帧的声音设置,如图2-13所示。图2-13 声音属性面板声音的同步属性主要有以下几种:事件。用这种方式设置的声音会独立于时间轴播放,只要用户没有强行中止,它会一直播放下去直到结束。用户能通过对循环属性设置就可以指定声音循环播放
22、的次数。开始。用这种方式设置的声音时,当该帧开始播放,将停止影片中前面帧播放的声音,只播放当前帧中的声音。停止。用这种方式设置的声音设置后,将立即停止播放当前帧的声音。数据流。用这种方式设置的声音设置后,动画与声音同步播放,如果动画下载速度跟不上声音,将跳过相关帧而保持与声音同步。另外,如果在播放中设置了动画停止,声音也将停止播放。2.通过ActionScript使用声音对象Sound控制声音虽然在时间轴中使用声音,非常简单方便。但是在交互性动画中大量声音是随事件触发而进行播放,这使用时间轴来播放不但缺乏灵活性,而且有时无法实现播放效果。Flash脚本语言提供了一个sound声音对象来控件事件声音播放,使Flash在声音
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1