《《Flash游戏编程》实训书.docx》由会员分享,可在线阅读,更多相关《《Flash游戏编程》实训书.docx(22页珍藏版)》请在优知文库上搜索。
1、Flash游戏编程实验(训|)指导书目录实训指导书编写说明1实训一二维数组的建立和使用2实训二弹球程序的实现5实训三打字游戏的实现8实训四角色设计11实训五扫雷游戏的实现14实训六战场生存记游戏的实现17实训七战场生存记游戏过关版的实现20实训指导书编写说明1 .课程名称应与教学计划一致,写课程全称。2 .开课学年填写阿拉伯数字,学期填写中文汉字,如2009-2010学年第二学期。3 .总学时和周学时填写时,均带单位,如54学时、3学时。4 .授课班级填写全称,如2008级计算机网络1、2班。5 .教研室名称填写全称:如计算机应用教研室、计算机技术教研室、公共基础课教研室。6 .实验(训)项目
2、应与实验(训)日历和实验(训)大纲一致。7 .实验(训I)目的在填写时注意层次性,如了解,理解,掌握,运用。8 .实验(训)过程要注意步骤详略得当。操作部分不宜过于简略,应尽量详细。实训一二维数组的建立和使用一、实训目的1、理解和使用数组对象(Array);2、掌握数组对象的创建和多维数组的使用;3、掌握用数组解决简单的地图编码问题的方法;二、实训设备与环境WindOWS操作系统+Adobeflashcs4软件三、实训要求在FlashCS4中,使用AS3创建一个n行m列的数组cells,n和m可以任意指定。CeII数组将用来存储扫类游戏每个方块上是否有雷。0表示没有雷,1表示有雷。这个实验中,
3、要求根据给定的n和m创建这个数组,并给这个数组随即地分配k个地雷(即有k个位置值为1,其余位置值为0)。四、实训步躲与要点1)打开FIaShCS4Professional,选择【文件】【新建】,或者按Ctrl+N,弹出新建文档对话框。选择“Flash文档(ACtiOnSeriPt3.0)”,按确定新建一个FIaSh文档。2)双击图层上的“图层1”文字,进入修改状态,将“图层1”改为“action”。此修改是为了以后使用方便,对本次实验结果没有影响。3)点击“action”图层的第1帧,按【F9】弹出动作面板,这个时候就可以编辑和输入ACtiOnSCriPt代码了。4)在动作面板中输入代码1。(
4、代码清单附于实验文档最后,请自行完成代码编写部分,这里给出的代码仅为参考!)5)按CtrI+S保存文件,然后选择【控制】【测试影片工或者按Ctrl+Enter测试影片。直到达到预定的效果为止。6)继续编写代码,在原有代码的基础上,在CreatArea()函数定义之前添加代码2(仅部分完成),完成选做部分。代码1:varm:int,n:int;雷区有m行n列vark:int;总共有k个地雷O(km*n)m=10;n=15;k=20;varCellszArray=CreatArea();trace(创建的二维数组为:);trace2DArray(cells);addBomb(k);给雷区添加k个地
5、雷trace(添加地雷后的二维数组为:);trace2DArray(cells);functionCreatArea():Arrayvararr:Array=newArray(m);定义一维数组for(vari=0;im;i+)一维数组的每个元素为一个新的数组arri=newArray();创建一个空数组for(varj=0;j11;j+)arri.push(0);/给数组添加新元组的一种方法,这里是在数组ce11si的末尾添加一个新元组,值为0returnarr;functiontrace2DArray(arr:Array)输出二维数组for(vari=0;im*n)return;)vari
6、,j,k;while(bombNumber0)k=int(Math,random()*m*n);i=int(kn);j=k%m;if(cellsij!=1)cellsij=l;bombNumber-;代码2vararounds:Array=CalAround(celIs);trace(每个位置周围的地雷数为:);trace2DArray(arounds);functioncalArouncl(arr):Array请补充完整)functionaround(i:int,j:int):int请补充完整五、注意事项1、不能看电影、听音乐、聊天、浏览网页;2、实训结果发送到教师邮箱;六、实训报告要求及成
7、绩评定1、认真填写实训报告表中的各项内容。2、按照实际操作的顺序把实训的过程填写好。3、学生书写的语句可以不相同,但要求最后结果要能出来。实训成绩在符合要求的前提下,根据最后程序的完成质量与难度评定。实训二弹球程序的实现一、实训目的1、了解FIaSh中的坐标系统;2、理解帧延迟循环及其应用;3、掌握将简单的物理运动公式应用到FlaSh中的方法;4、运用影片剪辑嵌套技术将运动封装在剪辑中;二、实训设备与环境WindoWS操作系统+Adobeflashcs4软件三、实训要求在FIaShCS4中,创建一个小球,并设计让它模拟在重力条件下的弹跳运动。其中重力和阻尼系数可以任意设置。选做:让作品中出现1
8、00个这样的弹球。四、实训步骤与要点1)打开FiaShCS4Professional,选择【文件】【新建】,或者按Ctrl+N,弹出新建文档对话框。选择“Flash文档(ACtionSeriPt3.0)”,按确定新建一个FlaSh文档。1)设置文档尺寸为800X600,背景为黑色,帧频率为50。点击“确定”按钮。2)将图层1改名为“弹球”,然后在弹球图层绘制一个小球。选中小球,设置小球的宽高都为40,然后按F8,将其转化为元件,类型为影片剪辑,中心位置为几何中心。3)选中这个弹球,在属性面板中设置实例名称为ball。4)点击弹球图层第3帧,然后按F5插入非关键帧。这样ball对象在三帧内都有效
9、。5)新建图层,改名为action。然后在其第1帧进行程序的初始化,输入代码1。6)点击action图层的第2帧,按F6插入关键帧,在这一帧放置被重复执行的关键代码。输入代码2。提示:当在拖动状态下,通过前后时刻的坐标计算当前的速度。当在非拖动状态下,则根据加速度修改速度、根据速度计算下一时刻坐标,根据坐标位置进行反弹、碰撞损失等计算,然后将坐标赋值给ball对象。7)点击action图层的第3帧,按F6插入关键帧,然后输入帧跳转语句:gotoAndPlay(2);这段代码让时间轴播放头跳回第2帧,于是形成典型的三帧循环。8)按CtrI+S保存文件,然后选择【控制】【测试影片工或者按Ctrl+
10、Enter测试影片,直到达到原定效果。尝试修改各个运动参数,看有什么效果。9)继续编写代码,实现在屏幕上显示100个这样的弹球。(自行完成)代码1:varCIragging:BOOIean=false;状态参数,指明是否正在被拖动varg:NUnlber=0.1;重力参数varZUni:NUmber=0.998;空气阻尼系数varPZSS=O.1;碰撞损失参数varSPeedX=0;X方向的速度varSPeedy=0;y方向的速度varnewx=ball.x;当前时刻的坐标varnewy=ball.y;varOldX=newx;前一时刻的坐标varoldy=newy;varstagelIeig
11、ht=600,StageWidth=800;屏幕的尺寸varradio=ball.Width/2;小圆的半径ball.addEventListener(MouseEvent.MOUSE_DOWN,dragBall);ball.addEventListener(MouseEvent.MOUSE_UP,dropBall);functiondragBal1(evt:MouseEvent)dragging=true;evt.target.StartDragO;)functiondropBal1(evt:MouseEvent)dragging=false;evt.target.StopDragO;)代码
12、2if(dragging)newx=ball,x;newy=ball,y;speedx=newx-oldx;speedy=newy-oldy;oldx=newx;oldy=newy;elsespeedy=(speedy+g)*(zuni);speedx=speedx*(zuni);newx=ball.x+speedx;newy=ball,y+speedy;if(newxstageWidth-radio)speedx=-speedx*(l-pzss);elseball,x=newx;)if(newystageHeight-radio)speedy=-speedy*(l-pzss);elsebal
13、l,y=newy;)五、注意事项1、不能看电影、听音乐、聊天、浏览网页;2、实训结果发送到教师邮箱;六、实训报告要求及成绩评定1、认真填写实训报告表中的各项内容。2、按照实际操作的顺序把实训的过程填写好。3、实训成绩在符合要求的前提下,根据最后程序的完成质量评定。实训三打字游戏的实现一、实训目的进一步掌握FIaSh中坐标系统的应用以及帧延迟循环的应用,在此基础上,运用人机交互的技术,实现一个美观实用的完整的FIaSh打字游戏。二、实训设备与环境WindoWS操作系统+Adobeflashcs4软件三、实训要求游戏开始之后,在屏幕下方不断出现上升的气球,每个气球上面都有一个字母,敲击键盘上对应的
14、字母后,气球破裂。游戏时间为15分钟,游戏结束后要显示打字的速度和准确率。四、实训步骤与要点1)制作气球角色气球是一个类似弹球的角色,它内部时间轴的延迟循环实现了自动上漂以及爆炸后文字下落的运动效果,并提供一些对外函数,从而实现设置气球颜色、设置字母、爆炸等等视觉效果。属性和方法 inStage: Boolean idle: Boolean SetColor(col:uint) init(index:int) bomb ()气球角色对外的属性和方法如下:说明气球是否在舞台上(上漂)的标识符气球是否空闲的标识符设置气球的颜色初始化气球的各个状态气球爆炸blast(speedLevel:int)发射气球已经完成了气球角色的时间轴如下图所示:气球角色的时间轴它有三个可视对象:气球皮肤、气球外框和显示字母的动态文本框。其中气球皮肤用来设置气球的色彩以及爆炸的动画和声音效果,这里不再赘述。设置三个对象的实例名称分别为edge、skin、txt-charoaction图层的第1帧代码为:第2帧代码为:this,y+=speed;if(this,y=-20)气球已经飘出舞台外MovieClip(parent).IoseBalloonO;this,y=4