ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:104.59KB ,
资源ID:9621181      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9621181.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《Flash游戏编程》实训指导书.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

《Flash游戏编程》实训指导书.docx

1、Flash游戏编程实训指导书Flash游戏编程实验(训)指导书目 录实训指导书编写说明 1实训一 二维数组的建立和使用2实训二 弹球程序的实现5实训三 打字游戏的实现8实训四 角色设计11实训五 扫雷游戏的实现14实训六 战场生存记游戏的实现17实训七 战场生存记游戏过关版的实现20 实 训 指 导 书 编 写 说 明1. 课程名称应与教学计划一致,写课程全称。2. 开课学年填写阿拉伯数字,学期填写中文汉字,如2009-2010学年第二学期。3. 总学时和周学时填写时,均带单位,如54学时、3学时。4. 授课班级填写全称,如2008级计算机网络1、2班。5. 教研室名称填写全称:如计算机应用教

2、研室、计算机技术教研室、公共基础课教研室。6. 实验(训)项目应与实验(训)日历和实验(训)大纲一致。7. 实验(训)目的在填写时注意层次性,如了解,理解,掌握,运用。8. 实验(训)过程要注意步骤详略得当。操作部分不宜过于简略,应尽量详细。实训一 二维数组的建立和使用一、实训目的1、 理解和使用数组对象(Array);2、 掌握数组对象的创建和多维数组的使用;3、 掌握用数组解决简单的地图编码问题的方法;二、实训设备与环境Windows操作系统 + Adobe flash cs4软件三、实训要求在Flash CS4中,使用AS3创建一个n行m列的数组cells,n和m可以任意指定。cell数

3、组将用来存储扫类游戏每个方块上是否有雷。0表示没有雷,1表示有雷。这个实验中,要求根据给定的n和m创建这个数组,并给这个数组随即地分配k个地雷(即有k个位置值为1,其余位置值为0)。四、实训步骤与要点1) 打开Flash CS4 Professional,选择【文件】|【新建】,或者按CtrlN,弹出新建文档对话框。选择“Flash文档(ActionScript3.0)”,按确定新建一个Flash文档。2) 双击图层上的“图层1”文字,进入修改状态,将“图层1”改为“action”。此修改是为了以后使用方便,对本次实验结果没有影响。3) 点击“action”图层的第1帧,按【F9】弹出动作面板

4、,这个时候就可以编辑和输入ActionScript代码了。4) 在动作面板中输入代码1。(代码清单附于实验文档最后,请自行完成代码编写部分,这里给出的代码仅为参考!)5) 按CtrlS保存文件,然后选择【控制】|【测试影片】,或者按CtrlEnter测试影片。直到达到预定的效果为止。6) 继续编写代码,在原有代码的基础上,在creatArea()函数定义之前添加代码2(仅部分完成),完成选做部分。代码1:var m:int,n:int;/雷区有m行n列。var k :int;/总共有k个地雷。(km*n)m=10;n=15;k=20;var cells:Array =creatArea();t

5、race(创建的二维数组为:);trace2DArray(cells);addBomb(k);/给雷区添加k个地雷trace(添加地雷后的二维数组为:);trace2DArray(cells);function creatArea():Array var arr:Array=new Array(m);/定义一维数组 for (var i=0; im; i+) /一维数组的每个元素为一个新的数组 arri = new Array();/创建一个空数组 for (var j=0; jn; j+) arri.push(0);/给数组添加新元组的一种方法,这里是在数组cellsi的末尾添加一个新元组,

6、值为0 return arr;function trace2DArray(arr:Array) /输出二维数组 for (var i=0; im*n) return; var i,j,k; while (bombNumber0) k = int(Math.random()*m*n); i = int(k/n); j = k%m; if (cellsij!=1) cellsij=1; bombNumber-; 代码2:var arounds:Array=calAround(cells);trace(每个位置周围的地雷数为:);trace2DArray(arounds);function calA

7、round(arr):Array /请补充完整function around(i:int,j:int):int /请补充完整五、注意事项1、 不能看电影、听音乐、聊天、浏览网页;2、 实训结果发送到教师邮箱;六、实训报告要求及成绩评定1、 认真填写实训报告表中的各项内容。2、 按照实际操作的顺序把实训的过程填写好。3、 学生书写的语句可以不相同,但要求最后结果要能出来。实训成绩在符合要求的前提下,根据最后程序的完成质量与难度评定。实训二 弹球程序的实现一、实训目的1、 了解Flash中的坐标系统;2、 理解帧延迟循环及其应用;3、 掌握将简单的物理运动公式应用到Flash中的方法;4、 运用影

8、片剪辑嵌套技术将运动封装在剪辑中; 二、实训设备与环境Windows操作系统 + Adobe flash cs4软件三、实训要求在Flash CS4中,创建一个小球,并设计让它模拟在重力条件下的弹跳运动。其中重力和阻尼系数可以任意设置。选做:让作品中出现100个这样的弹球。四、实训步骤与要点1) 打开Flash CS4 Professional,选择【文件】|【新建】,或者按CtrlN,弹出新建文档对话框。选择“Flash文档(ActionScript3.0)”,按确定新建一个Flash文档。1) 设置文档尺寸为800600,背景为黑色,帧频率为50。点击“确定”按钮。2) 将图层1改名为“弹

9、球”,然后在弹球图层绘制一个小球。选中小球,设置小球的宽高都为40,然后按F8,将其转化为元件,类型为影片剪辑,中心位置为几何中心。3) 选中这个弹球,在属性面板中设置实例名称为ball。4) 点击弹球图层第3帧,然后按F5插入非关键帧。这样ball对象在三帧内都有效。5) 新建图层,改名为action。然后在其第1帧进行程序的初始化,输入代码1。6) 点击action图层的第2帧,按F6插入关键帧,在这一帧放置被重复执行的关键代码。输入代码2。提示:当在拖动状态下,通过前后时刻的坐标计算当前的速度。当在非拖动状态下,则根据加速度修改速度、根据速度计算下一时刻坐标,根据坐标位置进行反弹、碰撞损

10、失等计算,然后将坐标赋值给ball对象。7) 点击action图层的第3帧,按F6插入关键帧,然后输入帧跳转语句:gotoAndPlay(2);这段代码让时间轴播放头跳回第2帧,于是形成典型的三帧循环。8) 按CtrlS保存文件,然后选择【控制】|【测试影片】,或者按CtrlEnter测试影片,直到达到原定效果。尝试修改各个运动参数,看有什么效果。9) 继续编写代码,实现在屏幕上显示100个这样的弹球。(自行完成)代码1:var dragging:Boolean=false;/状态参数,指明是否正在被拖动var g:Number=0.1;/重力参数var zuni:Number=0.998;/

11、空气阻尼系数var pzss=0.1;/碰撞损失参数var speedx=0;/x方向的速度var speedy=0;/y方向的速度var newx=ball.x;/当前时刻的坐标var newy=ball.y;var oldx=newx;/前一时刻的坐标var oldy=newy;var stageHeight=600,stageWidth=800;/屏幕的尺寸var radio=ball.width/2;/小圆的半径ball.addEventListener(MouseEvent.MOUSE_DOWN,dragBall);ball.addEventListener(MouseEvent.M

12、OUSE_UP,dropBall);function dragBall(evt:MouseEvent) dragging = true; evt.target.startDrag();function dropBall(evt:MouseEvent) dragging=false; evt.target.stopDrag();代码2:if (dragging) newx = ball.x; newy = ball.y; speedx = newx-oldx; speedy = newy-oldy; oldx = newx; oldy = newy; else speedy=(speedy+g)

13、*( zuni); speedx=speedx*(zuni); newx =ball.x+speedx; newy = ball.y+speedy; if (newxstageWidth-radio) speedx = -speedx*(1-pzss); else ball.x = newx; if (newystageHeight-radio) speedy = -speedy*(1-pzss); else ball.y = newy; 五、注意事项1、 不能看电影、听音乐、聊天、浏览网页;2、 实训结果发送到教师邮箱;六、实训报告要求及成绩评定1、 认真填写实训报告表中的各项内容。2、 按

14、照实际操作的顺序把实训的过程填写好。3、 实训成绩在符合要求的前提下,根据最后程序的完成质量评定。实训三 打字游戏的实现一、实训目的进一步掌握Flash中坐标系统的应用以及帧延迟循环的应用,在此基础上,运用人机交互的技术,实现一个美观实用的完整的Flash打字游戏。二、实训设备与环境Windows操作系统 + Adobe flash cs4软件三、实训要求 游戏开始之后,在屏幕下方不断出现上升的气球,每个气球上面都有一个字母,敲击键盘上对应的字母后,气球破裂。游戏时间为15分钟,游戏结束后要显示打字的速度和准确率。四、实训步骤与要点1) 制作气球角色气球是一个类似弹球的角色,它内部时间轴的延迟

15、循环实现了自动上漂以及爆炸后文字下落的运动效果,并提供一些对外函数,从而实现设置气球颜色、设置字母、爆炸等等视觉效果。气球角色对外的属性和方法如下:属性和方法说明inStage: Boolean气球是否在舞台上(上漂)的标识符idle: Boolean气球是否空闲的标识符setColor(col:uint)设置气球的颜色init(index:int)初始化气球的各个状态bomb()气球爆炸blast(speedLevel:int)发射气球已经完成了气球角色的时间轴如下图所示:气球角色的时间轴它有三个可视对象:气球皮肤、气球外框和显示字母的动态文本框。其中气球皮肤用来设置气球的色彩以及爆炸的动画

16、和声音效果,这里不再赘述。设置三个对象的实例名称分别为edge、skin、txt_char。action图层的第1帧代码为:第2帧代码为:this.y += speed;if (this.y=440) /打落的字符已经掉出舞台外。 init();第3帧的代码为:gotoAndPlay(2);在库中选中气球剪辑,点击右键选择“链接”,钩选“为ActionScript导出”,设置其链接名字为Balloon。2) 游戏主场景设计已完成的游戏主场景时间轴入下图所示:打字游戏的主时间轴其中背景为一张静态的图片。按钮图层放置着游戏各个阶段所需的可视对象。第一帧的作用是显示游戏名字、说明并等待开始。设置“开

17、始”按钮的实例名称为:bt_start。第2帧的作用是提供游戏中的几个参数设置。三个组合框组件分别用来设置游戏速度等级、游戏时间和同时在舞台上的气球的最大数量。在参数栏中设置它们的数据项(DataProvider)。设置三个组合框的实例名称分别为:cmb_speed、cmb_time、cmb_maxCount,设置“OK”按钮的实例名称为bt_OK。第3帧为游戏中界面,在背景的基础上增加了游戏成绩的动态显示。它们为多个动态文本框,如下图所示:游戏中成绩的动态显示设置三个动态文本框的实例名称分别为:txt_count、txt_percent、txt_timeLeft。第4帧为游戏结束后的成绩显示

18、。设置两个动态文本框的实例名称分别为:txt_typeSpeed、txt_finallyPercent,设置“重玩”按钮的实例名称为:bt_restart。3) 程序编程主时间轴的所有代码都在action图层上,其中第1帧的代码设置了游戏的初始参数,以及创建26个字母键所对应的气球数组,并响应玩家点击“开始”按钮的操作。第2帧的代码的作用是当玩家点击“OK”按钮之后,根据玩家的参数设置,初始化游戏中的各个变量并进入游戏中。第3帧的代码用来实现游戏的程序逻辑。基本过程就是侦听玩家敲击键盘的事件,并根据按键、舞台上的气球情况等判断得分还是失分,这通过onPressKey函数实现。随机发射气球的函数

19、也比较重要,它控制着上漂气球的数量,通过blast函数实现。第4帧的代码的代码用来显示最后的成绩并等待玩家点击“重玩”按钮的操作。4) 测试程序,直到达到原定的效果为止。五、注意事项3、 不能看电影、听音乐、聊天、浏览网页;4、 实训结果发送到教师邮箱;六、实训报告要求及成绩评定4、 认真填写实训报告表中的各项内容。5、 按照实际操作的顺序把实训的过程填写好。6、 实训成绩在符合要求的前提下,根据最后程序的完成质量评定。实训四 Flash角色设计的实现一、实训目的理解角色设计思想,设计战场生存记游戏中的主要角色:英雄、大炮和炮弹并熟练使用。二、实训设备与环境Windows操作系统 + Adob

20、e flash cs4软件三、实训要求设计游戏:一个英雄在一个空旷的战场上被包围了,四周布满了大炮。大炮总是会往英雄所在的位置开炮,按方向键进行上下左右跑动。这里将游戏分为若干个角色。其中主要角色包括:1) 英雄:它可以在屏幕的范围内到处跑动,躲避炮弹的袭击。如果被炮弹打中游戏就结束了。2) 大炮:它总是能够自动对准英雄所在的方向,然后随机地打出炮弹。3) 炮弹:被发射出来以后就沿着一条直线运动直到运动到屏幕范围之外,当碰到英雄的时候英雄将被打中而死去。实验简化为英雄可以到处跑,大炮总是对准英雄,随机打出炮弹,但炮弹对英雄不起作用。也就是完成大炮、英雄、炮弹三个角色的主要功能即完成本实验。四、

21、实训步骤与要点1) 新建Flash文档(ActionScript3.0),设置文档的帧频率为50,大小为490*540。2) 导入声音:导入三个声音文件,它们分别是跑动的声音、爆炸的声音的开炮的声音。分别链接为RunningSound、 BombSound 、ShootSound输出。3) 设计英雄确定这个角色的成员为:成员成员描述status角色当前所处的状态run(direction)向指定的方向跑动stand()站立不动dead()死去设计这个角色的动画,将这个角色的动画展开如下图所示:将动画串在一个剪辑中。总共8帧,第1帧空白,28帧内容与上图编号顺序对应。对齐这些素材,使得播放时是一

22、个完整的动画效果。在这个剪辑的时间轴上新建图层,改名为action,设置第2帧的帧标签为stop,第3帧为run,第8帧为dead(先将它们设置为关键帧)。在第1、2、3、7、8帧处编写相关代码。于是完成了这个角色的设计,后面将把这个角色用于多个游戏中。测试这个角色的方法:将这个角色应用在游戏中。步骤如下:a) 将做好的英雄剪辑从库中拖出置于舞台上。由于剪辑的第一帧是空白的,所以我们这个时候在舞台上看到的是一个空心的圆圈。b) 选中这个剪辑实例,在属性栏中设置它的实例名称为hero。c) 在主时间轴剪辑中新建图层,改名为action,然后在第一帧输入相应代码:保存文件,然后按Ctrl+Ente

23、r测试程序,看时候能够用键盘方向键控制这个角色的四处跑动。4) 制作炮弹炮弹在被创建之后直线运动,这个我们已经能够轻松实现了。炮弹角色应该包含如下的成员:成员 成员描述setEnemy(enemy)给炮弹注册一个敌人setSpeed (jiaodu,speed)设置炮弹发射的角度和速度moveBall()以当前速度移动一次炮弹repeat()重复执行的代码,与enterFrame事件配合事实上,当炮弹被复制后设置它的位置、速度、注册敌人之后,其它所有操作都在repeat函数中自动完成,不需要添加更多的代码。已经做好的炮弹剪辑的时间轴如下图所示:炮弹剪辑的时间轴其中炮弹图层第1帧绘制一个大约5*

24、5尺寸的小圆素材,表示炮弹,接着24帧为小圆爆破的一个小动画。在action图层第1帧中输入相应代码:第2帧设置帧标签为bomb,并输入以下代码:var s=new BombSound();s.play();这段代码指示当炮弹爆炸的时候播放爆炸的声音,其中BombSound是爆炸音效的链接名称。到第4帧时炮弹已经爆炸完毕,应该删除这个炮弹。代码如下:stop();removeEventListener(Event.ENTER_FRAME,repeat);parent.removeChild(this);完成炮弹的设计后,将其链接为Bullet以备使用。5) 设计大炮这里设计的大炮非常“聪明”,

25、它总能知道英雄在哪里,并不时向英雄发出致命的炮弹。很明显,这又是通过延迟一段时间就重复执行一段代码来实现。由于炮管需要在运行时旋转,所以设计成一个独立的剪辑嵌套在大炮剪辑内。设计好的大炮如下图所示:大炮剪辑的可视对象炮管的原点即为大炮剪辑的原点,这样在程序中控制它的旋转就会比较方便。设置炮管的实例名称为paoguan。由于后面需要精确确定炮弹的初始位置,所以在炮管剪辑内又嵌着炮头剪辑,以便用它的坐标来确定炮弹的出口。炮头的实例名称设置为paotou。大炮剪辑只有一帧,在这一帧上输入相应的代码:这里德代码首先确定炮弹要瞄准的对象(enemy),然后重复执行一段代码。这段代码的作用是跟踪enemy

26、的位置,让炮管瞄准enemy,并且按一定的随机几率发射炮弹。这里将enemy硬性设置为其父层级的hero实例。将大炮剪辑从库中拖出置于舞台上,可以多复制几个剪辑,排布于舞台的四周,保存文件,按Ctril+Enter测试程序,看是否达到原定的要求。五、注意事项5、 不能看电影、听音乐、聊天、浏览网页;6、 实训结果发送到教师邮箱;六、实训报告要求及成绩评定7、 认真填写实训报告表中的各项内容。8、 按照实际操作的顺序把实训的过程填写好。9、 实训成绩在符合要求的前提下,根据最后程序的完成质量评定。实训五 扫雷游戏的实现一、实训目的掌握二维编码方式编码地雷地图的方法,然后运用二维地图实现扫雷游戏的

27、各个部分的算法,最终实现整个扫雷游戏。二、实训设备与环境Windows操作系统 + Adobe flash cs4软件三、实训要求模拟实现类似于Windows自带的小游戏“扫雷”。可以手动地设置难度级别,或者可以直接设置地图的尺寸,和地雷的数量,然后开始游戏。四、实训步骤与要点1) 制作方块角色很明显,扫雷游戏中的每一个方格,都是一个雷区单元角色的实例。这个雷区单元应该包含如下的成员:成员成员描述discovered是否被打开了haveMine是否有地雷haveFlag是否有旗帜i、j雷区单元所在的位置各个界面如未打开、显示地雷、爆炸、显示周围雷数等界面showMine()显示地雷界面show

28、Explode()显示地雷爆炸界面showInit()显示初始化时的界面showAround(num)显示地雷被排除的界面flag()显示/隐藏旗帜方块角色的每一帧的内容如下图所示:第一帧有相应的初始化代码第二帧为默认的状态,时间轴应该停止在这一帧。代码:stop();至此我们已经完成这个角色的设计,在库中选中这个方块剪辑,点击右键,选择“链接”,将其链接为Cell输出。2) 布置场景扫雷游戏只有一帧。时间轴如图所示:界面中有几个文本框,各文本框的实例名称分别为:txtLineCount、txtRowCount、txtMineCount、txtMineLeft。开始按钮的实例名称为:bt_start,预设下拉框的实例名称为:mode。设置预设下拉框内的相应数据选项。3) 编写代码本游戏的所有代码都集中在第一帧上。其中各种变量都是程序中要使用到的,通过setMode方法可以选择预设的游戏参数。通过startGame进行游戏的初始化。startGame是游戏的一个关键部分。其函数的定义如下:function startGame(e:MouseEvent) if (!init() return false; fillCells();/平铺方块 setMines();/设置地雷 activeCells();/激活地图自上而下,逐步细化程序,直到完成为止。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2