多媒体应用技术教程 课件 第12章-综合案例_第1页
多媒体应用技术教程 课件 第12章-综合案例_第2页
多媒体应用技术教程 课件 第12章-综合案例_第3页
多媒体应用技术教程 课件 第12章-综合案例_第4页
多媒体应用技术教程 课件 第12章-综合案例_第5页
已阅读5页,还剩44页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

2第12章综合案例本章内容12.1通用实例12.2图片交换案例12.3游戏案例12.4作品设计要求3第12章综合案例12.1.1主菜单界面【例12.1】设计制作动态主菜单界面。要求:第1帧时,按钮阶梯向下排列,第25帧时,按钮舞台右侧对齐排列。鼠标经过各导航按钮时,光标改变为手指形状,翻转按钮文字颜色和背景颜色;鼠标离开按钮后,恢复光标形状、按钮文字颜色和背景颜色;当单击导航按钮,转跳到相应的场景,恢复导航按钮,如图12.1所示。12.1

通用实例4第12章综合案例12.1.1主菜单界面【例12.1】设计制作动态主菜单界面。设计分析:(1)鼠标交互操作常用三个事件:MouseUp鼠标抬起、MouseEnter(MouseWithin)鼠标进入、MouseLeave鼠标离开。根据这三个事件可设置按钮的不同状态。(2)通过交换演员实现翻转。要将精灵通道n中的精灵与演员表中的某演员交换,使用命令:Sprite(n).member=member(“演员名”)。,翻转前后效果,如右图:(3)主菜单界面除了“退出”按钮外,其他5个功能按钮都需要转跳到相应的场景,假设各场景的起始帧分别为30、35、40、45、50帧(不一定有规律)。为了简化代码和提高代码的重用性,在单击按钮时,能转跳到相应的帧,可对各场景的起始帧设置标记名,按某种规律与按钮精灵建立关联。12.1

通用实例5第12章综合案例12.1.1主菜单界面【例12.1】设计制作动态主菜单界面。设计步骤:(1)启动Director,新建600×480影片,设置舞台背景颜色为#333333,精灵默认长度为60帧,导入命名配对的按钮图片文件。(2)使用文本工具创建文字演员“多媒体作品示例”、设置字体为华文行楷48磅,在矢量图窗口工具绘制一条黄色直线,分别放置到精灵通道1~2。(3)pic1f~pic6f放置到精灵通道3至精灵通道8,并在舞台调整各个精灵到合适的位置,如图9-1左图所示。分别在精灵3~8de第25帧插入关键帧,移动按钮到舞台右侧。(4)双击行为通道第25帧,打开脚本窗口,输入代码gototheframe,使播放头停在第一帧,用于主菜单界面的显示。将该脚本分别复制第行为通道的第30、35、40、45、50帧,用于控制各个场景的显示。为各个场景的起始帧设置标记名3、4、5、6、7,与按钮所在的精灵通道一一对应。12.1

通用实例6第12章综合案例12.1.1主菜单界面【例12.1】设计制作动态主菜单界面。设计步骤:(5)创建“按钮效果”行为该行为用于产生鼠标光标形状变化、按钮显示效果的改变和跳转到对应的场景。执行“Window︱Script”菜单命令,打开脚本编辑窗口,命名脚本行为名为“按钮效果”。在属性检查器窗口的Script选项卡内,设置脚本类型为“Behavior”行为脚本。“按钮效果”行为的脚本代码如左图:在完成“按钮效果”行为创建后,演员表中增加了一个行为演员。分别拖曳“按钮效果”行为演员到各个导航按钮上,将行为功能附着到按钮精灵。(6)播放电影,检查主菜单的效果。(7)保存与生成项目:源文件保存为sy12_1.dir。12.1

通用实例7第12章综合案例12.1.2图像与动画【例12.2】实现动态浏览指定文件夹内的图片,图形文件夹内的图片可以动态增加或减少。要求:在上例的基础上,增加“图像”场景的功能。从主界面单击“图像”按钮,转跳到第5帧,进入图片浏览帧区域,通过前一张和后一张导航按钮,浏览图形文件夹内所有图片,每张图片切换时应用随机过渡效果,并显示每张图片的编号。设计分析本例的难点是图形文件夹的图片可以动态变动,所以不能事先将图形文件夹内的图片导入到演员表,需要在影片启动时,检测指定文件夹内的图形文件,并将其临时导入到演员表。为此,需要使用如下3个Director的脚本命令。①getNthFileNameInFolder(文件路径,序号)返回指定文件夹内第n个文件的名称。如果读不到文件,返回空字符串EMPTY。结合循环,就可以获取指定文件夹内的全部文件名。12.1

通用实例8第12章综合案例12.1.2图像与动画②字符表达式1contains字符表达式2字符串比较运算,检测字符串1是否包含字符串2。字符串比较不区分大小,检测结果为True或False。要判断所获得的文件是否为图形文件,可用命令:文件名contains扩展名。③导入图形文件到演员表位图对象名=new(#bitmap)--创建位图演员member(位图对象名).filename=图形文件路径名--外部图形文件指派给位图演员可用一个列表记录临时导入到演员表中的图片演员名。用一个变量imageNo记录当前图片号,只要改变序号,就可从列表获取图片演员,前一张图片号为imageNo-1,后一张图片号为imageNo+1。图片切换时过渡效果可由脚本命令puppetTransition(过渡方式,过渡用时)来完成。过渡方式取值1~52;过渡用时取值0~120,单位1/4秒。12.1

通用实例9第12章综合案例12.1.2图像与动画【例12.2】实现动态浏览指定文件夹内的图片,图形文件夹内的图片可以动态增加或减少。设计步骤:(1)启动Director,打开“12-1.dir”,为“图像”场景添加功能。设置精灵默认长度为4帧,“图像”场景的起始位置为第30帧,跨度为4帧。(2)新建一个名为“Image”的演员表,目的是将图像演员分类,便于操作和查找。单击演员表左上角的“ChooseCast”按钮,选择“NewCast”,打开新演员表对话框,在“Name”文本框中输入“Image”,单击“Create”按钮,创建名为“Image”的演员表。(3)导入按钮素材b1.pad、b2.pad,导入一张用于精灵通道上占位的位图文件tu1.jpg(可以使用任意一个图形文件)。拖曳图片演员tu1、按钮演员b1、b2到“图像”场景中的精灵通道11、12和13,添加一个域文本,命名为“tNo”,用于显示图片编号。调整舞台中上述精灵到合适位置,如图所示。12.1

通用实例10第12章综合案例12.1.2图像与动画(4)添加电影脚本,导入图片到演员表。为简化脚本代码,本例中只处理jpg文件,并将用于浏览的图形文件复制到影片所在文件夹。执行“Window︱Script”命令,弹出“Script:MovieScript”电影脚本编辑窗口,建立电影脚本演员,输入如下图脚本:--在脚本开始处声明全局变量:mList存放图片演员名的列表,pn被浏览的图形文件数。12.1

通用实例11第12章综合案例12.1.2图像与动画(5)为、按钮添加行为脚本在舞台上右单击按钮精灵,选择快捷菜单中的“Script”,打开脚本编辑器,创建行为脚本演员,输入代码:类似的,为按钮精灵添加行为脚本:12.1

通用实例12第12章综合案例12.1.2图像与动画(6)创建鼠标经过和离开行为选择演员表中的空白处,执行“Windows︱Script”菜单命令,打开脚本编辑窗口,输入代码:在属性检查器窗口的Script选项卡内,将脚本类型设置为“Behavior”行为。在演员表内增加了一个新演员,命名该演员为“动态鼠标”。分别拖曳“动态鼠标”演员到左右切换的图片按钮上,将鼠标行为附着到按钮精灵。12.1

通用实例13第12章综合案例12.1.2图像与动画(7)测试电影,在主菜单界面单击“图像”按钮,播放头跳转到第30帧,进入图像浏览帧区域,单击或按钮时,产生图片切换随机过渡效果到上(下)一张图片,并显示图片编号,效果如下图所示。若所浏览的图片在第一张图片,此时再单击按钮,窗口内容不发生变化,类似地,在显示最后一张图片时,单击按钮,也不会改变窗口内容。(8)保存电影文件为“sy12_2.dir”。12.1

通用实例14第12章综合案例12.1.2图像与动画【例12.3】Flash动画控制。设计分析:为简化脚本命令,可对Flash动画演员按一定规律命名。本例中,5个Flash演员名为:flash1~flash5,只要改变序号,就可演示需要的动画。用一个变量flashNo记录当前动画号,前一动画号为flashNo-1,后一动画号为flashNo+1,对应的动画演员名为"flash"&flashNo。设计步骤:(1)启动Director,打开sy12_2.dir,“动画”场景的起始位置为第20帧,跨度为4帧。(2)新建一个名为“Flash”的演员表。(3)导入素材flash1.swf~flash5.swf等5个动画文件到该演员表,拖曳flash1演员到精灵通道11的第35~38帧,调整舞台flash1精灵的大小合适。(4)切换演员表到“Image”演员表,复制两个按钮演员道“Flash”演员表,分别拖曳,按钮到精灵通道9,10的第35-38帧,调整按钮合适位置,在舞台右击按钮,添加行为脚本:12.1

通用实例15第12章综合案例12.1.2图像与动画【例12.3】Flash动画控制。设计步骤:为按钮,添加行为脚本(见左下侧):然后分别拖曳“动态鼠标”行为演员到这两个按钮上释放鼠标,创建“动态鼠标”应用实例。(5)测试电影,在主菜单界面单击“动画”按钮,播放头跳转到第35帧,进入动画功能帧区域,开始播放第20帧精灵通道11中的Flash精灵,单击或按钮,可播放所有“Flash”演员表中所有动画,当播放到第一个或最后一个Flash时,单击向前一向后一按钮无效,测试电影中的Flash播放功能。(6)保存电影文件为sy12_3.dir。12.1

通用实例16第12章综合案例12.1.3音频与视频媒体【例12.4】利用脚本和行为实现外部音频文件的播放功能。要求在例12.3的基础上,增加“音乐”场景的功能。从主界面单击“音乐”按钮,跳转到第45帧,进入声音播放器区域,通过播放列表选择乐曲进行播放。播放器界面具有停止、播放、暂停、音量调整和左右声道平衡调整功能。12.1

通用实例17第12章综合案例12.1.3音频与视频媒体设计分析:播放列表需要使用域文本框来建立,将可播放的乐曲文件名(包括扩展名)按行存放在域文本精灵。域文本内的数据可以在设计时输入,如果要制作动态列表,可从文本文件读入内容到域文本,具体实现可参看例3.5。要从域文本框返回所选定的行,可使用鼠标对象mouseLine属性,格式如下:变量=member(_mouse.mouseMember).line[_mouse.mouseLine]其中,_mouse.mouseMember返回被鼠标操作的域文本精灵,_mouse.mouseLine为选定的行,line[_mouse.mouseLine]为所选定的行的内容。使用脚本播放未曾导入到演员表的外部声音文件的命令:sound(n).playFile("乐曲文件路径名");要暂停声音:sound(n).pause();继续播放:sound(n).play();要停止声音:sound(n).stop()。当乐曲文件存放在电影文件所在文件夹中,可以省略文件夹名,直接使用乐曲文件名或用“themoviePath&乐曲文件名”构成完整的路径名。12.1

通用实例18第12章综合案例12.1.3音频与视频媒体设计步骤:(1)启动Director,打开“sy12_3.dir”,为“音乐”场景添加功能。“音乐”场景的起始位置为第45帧,跨度为4帧。(2)通过演员表左上角的“ChooseCast”按钮,创建一个名为“music”的演员表,并导入素材b1.psd等5个位图文件。拖曳演员表窗口中的上述5个精灵到“音乐”场景的精灵通道9~13;并调整舞台中上述精灵到合适位置。(3)制作播放列表选中精灵通道14的第45帧,添加一个域文本框,精灵长度4帧。在域文本精灵内输入乐曲文件名:明天会更好、让我们荡起双桨、人世间、为梦想时刻准备着、我和我的祖国。(4)为播放列表添加脚本右单击舞台上域文本精灵,选择快捷菜单中的“Script”,打开脚本编辑器,创建脚本演员8,输入代码:12.1

通用实例19第12章综合案例12.1.3音频与视频媒体(5)为按钮添加控制行为为各个按钮精灵添加行为脚本,对应onMouseUpme事件:“停止”按钮的行为代码:sound(1).stop();“播放”按钮的行为代码:sound(1).Play();“暂停”按钮的行为代码:sound(1).pause();(6)音量调整和左右声道平衡调整功能的的设置可参见例7.3,不再赘述。(7)测试电影。在主菜单界面单击“音乐”按钮,播放头跳转到第45帧,进入音乐播放区域,单击播放列表中的一个项目,开始播放对应的歌曲;单击“暂停”按钮,暂停播放,再单击“播放”按钮,继续播放;单击“停止”按钮,停止播放。(8)保存电影文件为“sy12_4.dir”。12.1

通用实例20第12章综合案例12.1.3音频与视频媒体【例12.5】使用WindowsMediaPlayer播放器,通过文件打开对话框选择音、视频文件,实现音、视频的播放。要求:在例12.4的基础上,增加“影视”场景的功能。从主界面单击“影视”按钮,跳转到第40帧,进入视频播放器区域,选择不同格式的音、视频文件进行播放。设计分析:通过fileIO.x32扩展插件可以调用Windows系统的文件打开对话框,从文件对话框返回文件的完整路径名。用所获得的外部音、视频文件名设置播放器控件精灵的URL属性,就可实现音、视频文件的播放。在使用fileIO之前,需要创建一个fileIO实例对象,使用displayOpen函数显示文件打开对话框。使用setFilterMask函数来过滤文件,限定文件打开对话框中所显示的文件类型。12.1

通用实例21第12章综合案例12.1.3音频与视频媒体【例12.5】使用播放器,通过文件打开对话框选择音、视频文件,实现音、视频的播放。设计步骤:(1)启动Director,打开“sy12_4.dir”,“影视”场景的起始位置为第40帧,跨度为4帧。(2)新建一个名为“Vedio”的演员表。(3)插入Windows媒体播放器控件。执行“Insert︱Control︱ActiveX…”命令,插入Windows媒体播放器,拖曳该演员到精灵通道10的第40~43帧,调整播放器大小合适。(4)选中工具箱“Button(按钮)”工具,在舞台绘制一个“打开文件”按钮,放置在精灵通道11的第40~43帧,并调整大小和移动到舞台到右下角,界面布局如左图所示。(5)为打开文件按钮添加行为右单击“打开文件”按钮,在快捷菜单中选择“Script命令,打开脚本编辑窗口,在onMouseUp事件中输入脚本:12.1

通用实例22第12章综合案例12.1.3音频与视频媒体注意:列表框中的文件过滤列表方式:"描述,文件扩展名"。(6)测试电影,在主菜单界面单击“影视”按钮,播放头跳转到第40帧,进入视频播放帧区域,单击“打开文件”按钮,选择音、视频文件,开始播放相应的影视。(7)在保存与发布前需要通过“修改-影片-xtras(Modify-Movie-xtras)”菜单命令添加FileIO.x32扩展插件,再保存电影文件为“sy12_5.dir”。注意:在Director中,Windows媒体播放器,通过文件打开对话框选择音、视频文件时,如果文件夹含有中文,Sprite(10).url=k可能不能正常执行。12.1

通用实例23第12章综合案例12.1.43D动画三维(3D)对象能更生动展示物体的造型、结构和特征,已被广泛应用于工业设计、建筑、影视等众多领域。Director中也能使用3D素材,极大地拓展了三维的应用范围,从简单的3D文字处理到3D多模型复杂对象的交互功能,达到身临其境效果,提高了多媒体应用程序的趣味性。3D素材以矢量方式记录3D模型的属性和参数,使用位图材质来表现物体的外观,或根据不同的场景配以各色灯光,所以具有无限缩放、任意旋转等特性。12.1

通用实例24第12章综合案例12.1.43D动画【例12.6】3D动画控制。设计要求:要求:从主界面单击“3D动画”按钮,跳转到第50帧,进入3D动画控制帧区域,通过单击按钮,控制3D对象的运行,包括3D演员自动旋转并缩放、添加灯光(颜色)、添加材质效果和3D演员受参数控制动画。设计步骤:(1)启动Director,打开“sy12_5.dir”,“3D动画”场景的起始位置为第50帧,跨度为5帧。(2)新建一个名为“3D”的演员表。导入素材-花环球体.w3d到“3D”的演员表。(3)拖曳“花环球体”演员到精灵通道9的第50~54帧,调整舞台上该精灵的大小合适,双击舞台上3D精灵“花环球体”或演员表“花环球体”演员,打开Shockwave3D窗口,通过选择“DollyCamera(推拉摄像机)”、“RotateCamera(旋转摄像机)”、“PanCamera(平移摄像机)”按钮,在Shockwave3D窗口拖曳鼠标,调整3D演员的大小,角度和左右位置合适后,单击“SetCameraTransform(应用3D对象)”,将3D演员调整后的状态应用到舞台精灵。12.1

通用实例25第12章综合案例12.1.43D动画【例12.6】3D动画控制。设计步骤:(4)使用工具箱中的“Text”文本工具,绘制文本输入“xyz”;使用“Field”域文本工具,绘制3个域文本,分别命名为“x”、“y”、“z”,选择“PropertyInspector︱Field”选项卡,选勾“Editable”和“Wrap”项,设置“Border”边框为1像素;使用“Button”按钮工具,创建“推拉”、“旋转”、“重置”、“灯光”、“自动”、“停止”等按钮。文字、域文本和按钮布局如左图所示。(5)为控制按钮添加演员脚本,如下表所示。其中3D演员为“花环球体”,所建立的精灵为Sprite(9)。12.1

通用实例26第12章综合案例12.1.43D动画自动功能是将重复执行推拉与旋转的脚本,将控制转移到“3D动画”场景起始位置的下一帧,即第51帧,在该帧的行为通道,添加行为脚本:(6)移动3D精灵:如果要直接用鼠标移动3D精灵,可以使用鼠标指针的水平与垂直位置属性themouseH与themouseV来修改3D精灵位置,为3D精灵添加行为脚本(见左图):(7)测试电影,在主菜单界面单击“3D动画”按钮,播放头跳转到第50帧,进入3D动画功能帧区域,设置参数x、y、z的值,单击“推拉”、“旋转”、“重置”、“灯光”、“材质”、“自动”、“停止”等按钮,3D演员将以设定x、y、z的值,进行缩放、旋转、自动缩放旋转等动作展示。(8)保存电影文件为“sy12_6.dir”,并发布最终影片文件sy12_6.exe。12.1

通用实例第12章综合案例12.2.1鼠标略过缩略图显示大图【例12.7】当鼠标略过动物图片缩略图时,突出显示该图片。设计分析:图片是多媒体作品的构成元素,本例实现功能为鼠标略过小图时,能在指定的位置将大图显示出来。主要用的脚本为:sprite(n).member=sprite(me.spritenum).member,通过该脚本可将精灵编号为n的精灵通道的演员替换为当前精灵通道的演员设计步骤:(1)启动Director,新建600×480影片,设置影片背景为黑色,导入素材文件pic1.jpg~pic7.jpg。(2)设置精灵长度为5帧,导入图片素材,并创建按钮。图片互动显示只需要使用一帧,为了便于读者对照剧本分镜窗的编排,本例使用了5帧,图片和按钮在舞台上的分布见左图。(3)互动脚本加入选择左侧或下方任一小图,单击右键,加入脚本:见右下图,将将该脚本命名为picchange,并从演员表中拖曳添加到所有小图片上。(7)影片源文件保存为sy12_7.dir。2712.2

图片交换案例第12章综合案例12.2.2拖曳文字并判断位置【例12.8】添加“动物识字”场景:实现功能将动物名称文字拖曳到对应的图片上时,能对是否拖动正确进行判断,并且读出改文字。设计分析:设计分析:判断一个精灵是否在一个精灵内部的方法,可通过精灵的top,left,bottom,right属性的比较来实现,假设精灵的宽度为h,高度为w时,精灵下边距:top+h;右边距:left+w,来表示,如左图1所示。设计步骤:(1)启动Director,打开“sy12_7.dir”,“拖曳文字动画”场景的起始位置为第6帧,跨度为5帧。(2)导入图片素材animal.jpg至精灵通道9,从工具箱中拖入矩形工具,并调整大小使其刚好覆盖刺猬图片,如左图2:重复再拖入矩形5次,分别覆盖骆驼、大象等其他五个动物片,分别位于精灵通道10-15的6-10帧。2812.2

图片交换案例第12章综合案例12.2.2拖曳文字并判断位置设计步骤:(3)拖曳及位置判断实现使用文本工具输入添加5个文字演员,文字内容依次为:刺猬、骆驼、大象、孔雀、松鼠、熊猫。将文字演员参照图片上从左到右从上到下的顺序,依次拖曳到精灵通道的16~20帧。文字演员“刺猬”所在精灵通道为16,刺猬图片上对应的矩形所在的精灵通道为10,选中文字刺猬,单击右键,添加脚本如下:注:当文字精灵的左边距和上边距大于矩形的左边距和上边距,同时文字精灵的右边距和下边距小于矩形的右边距和下边距时,文字在矩形框内部。依次给骆驼、大象、孔雀、松鼠、熊猫添加脚本,并调整精灵通道编号。2912.2

图片交换案例第12章综合案例12.2.2拖曳文字并判断位置设计步骤:(4)测试影片,拖曳文字到对应的动物图片时,弹出提示:正确,否则弹出提示:请放到正确的位置。影片运行效果如下:(5)本例中运用到语音朗读功能,发布前需要通过“Modify

Movie

Xtras”菜单命令,添加Speech.x32扩展插件,以保证发布的影片能正确运行。源文件保存为sy12-8.dir,并导出影片能力提高:请思考是否可以通过设置文字和矩形框的精灵编号关系来修改脚本,使得所有的文字精灵使用同一判断位置脚本。3012.2

图片交换案例第12章综合案例12.3.1配对游戏设计【例12.9】记忆训练――配对游戏设计。本例以配对游戏介绍如何用Director来制作这类游戏。配对游戏是一款比较经典的小游戏,玩法上没有什幺特殊技巧,完全靠用户记忆来回想自己点过的图片与位置,然后逐一配对消除,按单击的次数给分,次数越少,得分越高。设计分析:游戏设计前需要确定游戏的玩法,本例是16张两两相同的图片,随机反向排列在窗口,图片均为“背对”用户,如图12.21所示。单击“开始”按钮,显示图片1.5秒,让用户快速记忆图片内容与位置,如图9.22所示,然后翻过去。用鼠标连续单击两张图片,就会翻开图片。如果翻开的两张图片是相同的,就消除该配对图片,若是不同的两张图片,自动翻回,让用户继续选择,直到把所有的图片都消除,游戏结束。3112.3

游戏案例第12章综合案例12.3.1配对游戏设计玩法确定后,需要设计游戏制作思路及算法,其流程如图。本类型的游戏程序可以分为三个部分:游戏初始化,图片控制和信息显示。使用列表是编写“配对游戏”的关键,对图片的操作在内部转化为对列表的处理。本例用到8种不同的图片,由于要配对,每一张图片在舞台上都需要出现两次,依次排列在精灵通道1~16号上。3212.3

游戏案例第12章综合案例12.3.1配对游戏设计(1)游戏初始化初始化主要包括以下几方面的工作:①开始状态开始时不会看到图片正面,都统一显示为背面,先用一个图片背面演员在精灵通道1~16上占位。②建立随机列表在舞台上随机放置16张图片的处理算法:使用一个随机列表,将数字1~8随机地添加到列表中,每个数字添加两次。数字1~8与8种图形一一对应,列表项的序号对应精灵通道号。例如,列表的第3项的内容为5,表示精灵通道3将使用图形5,根据列表内容替换通道1~16上的演员,实现图片随机排列在窗口。Director中的addAt()函数可将数值添加列表的指定位置,其语法为:addAt(列表位置,数值)。将循环、addAt(),random()函数结合起来,就可产生随机列表,代码如下:3312.3

游戏案例第12章综合案例12.3.1配对游戏设计在循环中先根据i的值随机产生列表位置,使其分布在1~16中,当addAt()函数遇到相同位置值时,会在该位置前插入数值项,只要数值i不同,这种特殊的工作方式将不会出现重复现象。③用户操作记录列表根据玩法,用户最多可翻开两张图片,用一个列表pList来记录用户所翻开的图片号(也可用两个全局变量),如果该列表的项数为2,说明用户已经翻开两张图片,就可对列表的两个项进行比较,看看是否匹配。该列表初始状态应该为空,图片比对完成后,再还原到初始状态。类似地再使用sList列表记录图片所在的通道。④游戏结束判定条件使用一个全局变量RightNum记录已经配对成功的图片对数,其初始值为0,当RightNum=8,游戏结束。⑤游戏计分为了给用户计分,还需要一个全局变量cNum记录点击的次数,其初始值为0。计分算法:配对成功最少的点击数为16次,设置最高分为32,每多增加一次点击减一分,游戏得分计算公式:32-(cNum-16),即48-cNum。3412.3

游戏案例第12章综合案例12.3.1配对游戏设计(2)图片控制①获取当前精灵号_mouse.clickOn返回当前被用户点击图片精灵的通道号n,它对应随机列表的第n项,从而可获得所使用的图形演员。②翻图操作采用交换演员的方法显示图片,并将图片号记录到用户操作记录列表pList中。根据列表pList的项数控制翻图操作,若表项数为2,说明用户已经翻开两张图片,其他图片不能再次被点击,这时就可对列表的两个项进行比较,看看是否匹配。通过检测精灵对应的演员,控制已经翻开的图片不能再次被点击。若演员为背面演员,而且表项数小于2,可以翻图;若是图片演员,忽略鼠标操作。③配对图片消除将一个精灵通道的Visible属性设置为False,使那个精灵不可见(或设置精灵混合色的百分比Blend=0,使精灵不可见),产生消除的效果。注意:如果精灵通道的Visible属性被设置为False,在重新开始游戏时,必需依次序地将精灵的Visible属性设置为True。3512.3

游戏案例第12章综合案例12.3.1配对游戏设计(3)信息显示直接使用域文本显示本次游戏的得分。如果要对历次游戏得分进行排行榜处理,需要使用文件读写功能。在每次游戏结束时,将得分保存到指定文件。3612.3

游戏案例第12章综合案例12.3.1配对游戏设计设计步骤:(1)启动Director,新建320×240影片,设置影片背景为淡蓝色。①导入图片素材,将图片演员编号为p1~p8。②使用画图工具,建立一个1Bit的矩形图象演员back,作为图片的背面。③使用按钮工具建立“开始”、“排行榜”和“退出”按钮。④建立域文本演员mtext,显示游戏信息。⑤将影片分为2个场景,1~5帧为游戏操作场景,第10帧为信息显示场景。(2)游戏主界面设计参见左图将演员back放置在场景1的通道1~16上;在场景2的通道1上放置区域域文本演员mtext,按钮放置在通道18~20全部场景中。(3)编写初始化脚本需要编写一个电影脚本,包含几个函数。--rndList随机列表,sList,pList用户操作列表,记录用户单击的精灵和翻开的图片号37第12章综合案例12.3.1配对游戏设计3812.3

游戏案例第12章综合案例12.3.1配对游戏设计设计步骤:(7)为按钮添加行为(8)保存与源文件保存为sy12_9.dir,导出发布为sy12_9.exe。在保存与发布前需要通过“Modify︱Movie︱Xtras(修改︱影片︱Xtras)”菜单命令,添加fileIO.x32扩展插件。3912.3

游戏案例第12章综合案例12.3.1配对游戏设计思考:(1)可以为游戏设置时间限制,必须要在规定的时间内完成。从用户第一次单击图片,程序开始计时,并在窗口的右上角显示已用时间。(2)如果每次游戏过程中使用的图片允许改变,则可设置候选图片库,从图库中随机选出8张图片。(3)如何在影片中使用声音效果?例如,当用户点击的图片配对正确时,应当发出一些悦耳的声音;如果点击了错误的答案,应当发出难听的声音。当影片等待用户选择时,甚至应当发出一些钟表的滴答声。4012.3

游戏案例第12章综合案例12.3.2问答游戏设计【例12.10】问答游戏设计。问答游戏随处可见,通常的形式是提出问题,用户回答。问题的表示可以用文字,像选择题的方式,也可以用图形表示,从若干个答案中选一个。本例采用图形表示,舞台上有5个树洞,其中一个树洞内有一只松鼠,快速变化树洞位置,猜猜松鼠躲藏在哪一个树洞。设计分析:本例游戏的玩法是:单击“开始”按钮,显示5个外形完全相同的树洞,用闪烁的方式突出显示有松鼠的一个树洞。2秒后隐藏松鼠,快速交换5个树洞的位置,让用户猜猜松鼠躲藏在哪一个树洞,根据猜测的次数给出本次回答的得分,并发出声音。游戏可以反复进行,游戏结束时显示正确率。根据玩法,将影片分为4个场景,场景1使用1~8帧,为游戏进行初始化,显示5个树洞,其中一个树洞内有一只松鼠;场景2使用10~18帧,快速交换5个树洞的位置,将松鼠躲藏起来,产生松鼠躲藏在哪一个树洞的问题;场景3使用20~27帧,作为操作场景,找出松鼠躲藏的那一个树洞;第30帧为信息显示场景。4112.3

游戏案例第12章综合案例12.3.2问答游戏设计(1)游戏设计准备①影片需要用几个全局变量来记录几件事情:需要知道用户正在本次游戏过程中点击次数cNum(点击了几次才找到松鼠),游戏次数gNum,累计得分atotal。它们的初始值为0,在每次游戏完成后,cNum需要恢复为0。②问题转换5个树洞精灵快速交换位置后,用1个列表记录从左到右出现的树洞精灵号。查找松鼠躲藏在哪一个树洞的问题,就转化为在列表中找与松鼠相关的那个项。③游戏计分计分算法:一次猜中为4分,每多增加一次点击减一分,游戏得分计算公式:5-cNum。正确率=累计得分/(游戏次数*4)(2)树洞与松鼠①用一个树洞演员产生5个树洞精灵,用树洞与松鼠合成的图形作为松鼠躲藏在树洞的精灵,如右图所示。4212.3

游戏案例第12章综合案例12.3.2问答游戏设计②闪烁显示实现选择场景2通道6~10中的某一个通道,例如通道7,在2、4、6、8帧上放置树洞与松鼠合成精灵。③树洞位置快速变化在场景3中为5个树洞精灵添加随机移动行为,并修改该行为的参数,调整移动速度,使树洞精灵能在舞台上随机移动。为便于用户操作,可将舞台上的树洞精灵,自左至右平移到一行上(不改变各个精灵的左右顺序)。(3)用户操作控制①获取当前精灵号_mouse.clickOn或thecurrentSpriteNum返回当前被用户点击的精灵号n。②声音播放sound(1).play(member("声音演员名"))4312.3

游戏案例第12章综合案例12.

温馨提示

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

评论

0/150

提交评论