




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新 乡 学 院 毕 业 论 文论文题目贪吃蛇游戏的设计与实现院(系)名称计算机与信息工程学院专业名称计算机应用技术班 级学生姓名学 号指导教师姓名2010年4月完成2目录内容摘要:1矚慫润厲钐瘗睞枥庑赖。关键词:1聞創沟燴鐺險爱氇谴净。Abstract:1残骛楼諍锩瀨濟溆塹籟。Key words:1酽锕极額閉镇桧猪訣锥。1.游戏设计背景2彈贸摄尔霁毙攬砖卤庑。1.1游戏设计原理2謀荞抟箧飆鐸怼类蒋薔。1.2游戏设计的运行环境2厦礴恳蹒骈時盡继價骚。2.游戏设计相关知识介绍4茕桢广鳓鯡选块网羈泪。2.1 Flash理论基础知识要点4鹅娅尽損鹌惨歷茏鴛賴。2.2面向对象编程5籟丛妈羥为贍偾蛏练淨。2.3游戏制作中常用函数的属性与方法5預頌圣鉉儐歲龈讶骅籴。3. 制作贪吃蛇游戏的整体规划9渗釤呛俨匀谔鱉调硯錦。3.1贪吃蛇游戏的大致结构图9铙誅卧泻噦圣骋贶頂廡。3.2游戏设计整体构思9擁締凤袜备訊顎轮烂蔷。3.3透视游戏设计的核心重点算法9贓熱俣阃歲匱阊邺镓騷。3.4游戏设计核心重点函数控制9坛摶乡囂忏蒌鍥铃氈淚。4. 游戏详细设计与核心技术10蜡變黲癟報伥铉锚鈰赘。4.1游戏的详细设计10買鲷鴯譖昙膚遙闫撷凄。4.2游戏的核心技术11綾镝鯛駕櫬鹕踪韦辚糴。5.贪吃蛇游戏设计总结16驅踬髏彦浃绥譎饴憂锦。参考文献17猫虿驢绘燈鮒诛髅貺庑。致 谢17锹籁饗迳琐筆襖鸥娅薔。内容摘要:贪吃蛇游戏,因为制作简单,逻辑性较强,通常是学做游戏的必练的项目。贪食蛇游戏是目前各种流行手机中附带的一款休闲小游戏。 Flash是Macromedia公司发布的制作高压缩性网络内容的专业标准动画软件。随便打开一个网页,都能发现Flash动画的身影Flash动画作品已经充斥整个网络。毫无疑问Flash已经是制作网络动画的霸主。透过现象看本质:游戏的制作与Flash的基础原理密不可分,同时也与制作者的良好修养密不可分,进而提高本身综合素质的的整体提高!構氽頑黉碩饨荠龈话骛。关键词:原理 运行环境 理论基础 详细设计 核心技术Abstract: Snake game, because the production of simple logic is strong, often the game will learn to practice projects. Snake mobile game is all included with a popular casual games. Macromedia Flash is the production company released the contents of high-compression network of professional standards for animation software. Casually open a web page, Flash animation can be found in the figures of Flash animation has flooded the entire network. There is no doubt that Flash is already the dominant animation production network. Look beyond the surface: the games basic principles of production and Flash are inseparable, but also with the producers of good training are inseparable, and thus improve their overall quality of the overall improvement!輒峄陽檉簖疖網儂號泶。Key words:Principle operating environment Theoretical basis Detailed design Core Technology尧侧閆繭絳闕绚勵蜆贅。181.游戏设计背景随着科技与经济的快速发达,知识经济的快速增长,娱乐逐渐变成人与智能的交流。智能化的娱乐游戏在网络里愈来愈好,众多的游戏不胜枚举。比如益智类的小游戏、腾讯游戏、网页游戏、格斗游戏、模拟游戏等,尤其是最近网络上特别流行的Flash制作的动画越来越受关注。现在就探究下用Flash软件制作贪吃蛇的游戏的设计原理。识饒鎂錕缢灩筧嚌俨淒。1.1游戏设计原理游戏贪吃蛇就是在Flash软件用影片剪辑设计出蛇,食物,同时随机地给出食物。游戏者通过键盘操作控制贪吃蛇的移动,去吃食物,吃到食物后消失,然后再随机给出食物同时蛇的身体增长。设计蛇的原理就是利用人眼的视觉效应先将蛇头向前移动一格,然后所有蛇身依次向前移动一格,最后再擦除蛇尾。这样看来好像蛇在向前移动。食物的给出,首先需要产生一个随机数,然后通过这个随机数计算得到食物的纵横坐标,在软件运行效果里显示出来。控制蛇的移动方向,需要扫描键盘,然后根据键值改变蛇的移动方向。凍鈹鋨劳臘锴痫婦胫籴。1.2游戏设计的运行环境学习Flash开发,首先要建立首要的、基础的正确认知。在几乎任何应用程序开发中,都要接触到三个相互关联的方面:一个是开发环境,一个是运行环境,再一个是开发语言。恥諤銪灭萦欢煬鞏鹜錦。1.2.1软件开发环境Flash应用程序开发也包含着三个方面,即使用Flash CS3作为开发环境,以ActionScript 2.0作为开发语言,以Flash Player 9为运行环境进行Flash应用程序开发和创作的完整知识体系。鯊腎鑰诎褳鉀沩懼統庫。对于Flash应用程序开发,在进行Flash开发时,安装一个开发工具(也被称为开发环境、创作环境等。目前流行的Flash开发工具基本都是Adobe公司的产品,最著名的就是Flash CS3和FLEX。硕癘鄴颃诌攆檸攜驤蔹。1.2.2运行环境WindowsMacintosh处理器800 MHz Intel Pentium III processor (or equivalent) and later600 MHz PowerPC G3 and later操作系统Windows 2000, Windows XPMac OS X 10.3, 10.4内存256 MB RAM (1 GB recommended to run more than one Studio 8 product simultaneously)256 MB RAM (1 GB recommended to run more than one Studio 8 product simultaneously) 显示1024 x 768, 16-bit display (32-bit recommended)1024 x 768, thousands of colors display (millions of colors recommended) 磁盘空间710 MB available disk space360 MB available disk space1.2.3开发语言用户要进行Flash开发,要接触是ActionScript(简称AS),ActionScript程序语言是用于Flash开发的交互语言。ActionScript有三种语言编写风格,这就是AS1、AS2和AS3。AS1遵循ECMA-262第3版所制定的规范,AS2遵循即将发布的ECMA-262第4版规范,但它们的运行环境只有一种,即Flash Player VM(Adobe称为AVM1,AVM是ActionScript虚拟机的简称)。阌擻輳嬪諫迁择楨秘騖。2.游戏设计相关知识介绍了解贪吃蛇的设计原理后,接下来就是对设计游戏的一些相关理论知识基础及深入点的分层次介绍。2.1 Flash理论基础知识要点2.1.1 基础概念(1)帧频是动画播放的速度,以每秒播放的帧数为度量。帧频太慢会使动画看起来一顿一顿的,帧频太快会使动画的细节变得模糊。在 Web 上,每秒 12 帧 (fps) 的帧频通常会得到最佳的效果。QuickTime 和AVI 影片通常的帧频就是 12 fps,但是标准的运动图像速率是 24 fps。氬嚕躑竄贸恳彈瀘颔澩。(2)将元件看作是一种模板,使用同一个模板能够创建多个实例。对元件的实例可以做各种变换操作,而这些操作不会对元件的各种属性有所更改。也可以改变元件的属性,例如颜色、形状以及边线的粗细等。当对这些属性加以修改后,舞台上的所有实例的相应属性也发生了变化。釷鹆資贏車贖孙滅獅赘。(3)影片剪辑拥有自身的、独立于主影片的时间轴播放的多帧时间轴,即可以将影片剪辑看作主影片内的小影片,它可以包含交互式控件、声音、甚至其他影片剪辑实例,也可以将影片剪辑实例放置在按钮元件的时间轴内,以创建动画按钮。怂阐譜鯪迳導嘯畫長凉。(4)点语法:_root:表示绝对路径,他指的是时间主轴。_parent:表示当前时间轴,可以操控当前时间轴上的对象等。变量作用域分为全局变量、本地变量和时间轴变量。谚辞調担鈧谄动禪泻類。2.1.2基本语法规则及简单注意事项(1)变量、函数、对象、操作符、保留关键字等语言元素,有它自己的语法规则。ActionScript拥有自己的句法和标点符号使用规则,这些规则规定了一些字符和关键字的含义,以及它们的书写顺序。例如,在英语中句号结束一个句子,而在ActionScript中则用分号结束一个语句。嘰觐詿缧铴嗫偽純铪锩。(2)动画设计过程中的简单注意事项。确保处在动画测试模式。确保不在多层中添加相互矛盾的帧动作。确保多个动作脚本元素没有使用相同的名字。确保所有的目标路径以确保他们的正确无误。2.2面向对象编程“对象” 是指属性和方法的集合,每个对象都具有其各自的名称,并且都是特定类的实例。相比较而言,对象是一个形象具体的概念,如生活中所使用的笔、纸张、书籍、计算机等,都可称之为对象。而对于每个对象来说,它们都具有一些区别于其他对象的个体属性,如大小、形状、颜色、使用方法等。熒绐譏钲鏌觶鷹緇機库。在面向对象编程中,类定义对象的类别,描述对象的属性(数据)和行为(方法),类是一个较为抽象的概念,可以说是对象概念的提升,利用类可表现一组相关对象中某些公共的属性和行为。如果要使用类所定义的属性和方法,必须先创建该类的实例,实例化对象其实就是指定某个特定的对象。 鶼渍螻偉阅劍鲰腎邏蘞。2.3游戏制作中常用函数的属性与方法2.3.1 Mouse类使用Mouse类的方法可隐藏和显示SWF文件中的鼠标指针(光标)。默认情况下鼠标指针是可见的,但是用户可以将其隐藏并实现用影片剪辑创建的自定义指针。纣忧蔣氳頑莶驅藥悯骛。方法名用法说明Mouse.showMouse.show()在SWF文件中显示鼠标指针,指针在默认情况下可见Mouse.hideMouse.hide()隐藏SWF文件中的鼠标指针Mouse.addListenerMouse.addListener(newListener)注册一个对象以接收onMouseDown、onMouseMove和onMouseUp通知。(参数:newListener为一个对象)Mouse.removeListenerMouse.RemoveListener(listener)删除用addListener方法注册的对象。(参数:listener为一个)MovieClip.onMouseDownMyMovieClip.onMouseDown当按下鼠标左键时调用MovieClip.onMouseMoveMyMovieClip.omMouseMove当鼠标移动时调用MovieClip.onMouseUpMyMovieClip.onMouseUp当释放鼠标左键时调用2.3.2 Key类Key类是不通过构造函数即可使用其方法和属性的顶级类。使用Key类的方法可生成用户能够通过标准键盘控制的界面,该类的属性是常量,表示控制游戏时最经常使用的键。颖刍莖蛺饽亿顿裊赔泷。方法名用法说明Key.addListenerKey.addListener(newListener)注册一个对象,以接收onKeyDown或onKeyUp的通知Key.getAsciiKey.getAscii()返回按下或释放的最后一个按键的ASCII码值Key.getCodeKey.getCode()返回最后一次按键的键控代码值Key.isDownKey.isDown(keycode)判断是否按下了参数keycode中指定的键。若按下则返回True;否则将返回False。Key.isToggledKey.isToggled(keycode) 判断CapsLock键或NumLock键是否处于激活状态,若是则返回True。Key.removeListenerKey.removeListener(Ustener)删除通过addListener方法注册的对象。若删除成功,则返回True;否则返回False。Key.onKeyDownsomeListener.onKeyDown当按下某个按键时获得通知Key.onKeyUpSomeListener.onKeyUp当释放某个按键时获得通知2.3.3 Button类 按钮是Flash影片中实现交互功能最常见的对象,SWF文件中的所有按钮元件都是对象的实例,用户可在属性检查器中指定按钮实例名称,并通过动作脚本使用Button法和属性来操纵按钮。濫驂膽閉驟羥闈詔寢賻。名称用法说明Button.onDragOutmyButton.onDragOut当在按钮上按下鼠标按键,并且不释放按键时,然后将鼠标指针滑出按钮时调用事件Button.onDragOvermyButton.onDragOver当用户在按钮上按下鼠标,然后在不释放按键的情况下将鼠标指针拖到按钮之外后,再次将鼠标指针移到按钮上方时调用事件Button.onKeyDownmyButton.onKeyDown当按下键盘上的某个按键时调用事件Button.onKeyUpmyButton.onKeyUp当释放键盘上的某个按键时调用事件Button.onPressmyButton.onPress当在按钮上按下鼠标按键时调用事件Button.onReleasemyButton.onRelease当用户释放鼠标左键时调用事件2.3.4 MovieClip类MovieClip中类的方法提供的功能与定位影片剪辑的动作所提供的功能相同,无需使用构造函数方法即可调用MovieClip类的方法,用户只需在语法中按名称引用影片剪辑实例即可。銚銻縵哜鳗鸿锓謎諏涼。方法名与用法myMovieClip.attachMovie(idName,newName,depth,initObject)从【库】面板中取出一个元件,并将其附加到舞台上由MovieClip指定的影片中。myMovieClip.creatEmptyMovieClip(instanceName,depth)为现有的影片剪辑元件实例创建子级的空影片剪辑元件实例。新创建的空影片剪辑的注册点为左上角。myMovieClip.createTextField(instanceName,depth,x,y,width,height)创建现有影片剪辑元件实例的子级空文本字段。myMovieClip.duplicateMovieClip(newname,depth,initObject) 在影片播放时,复制指定影片剪辑元件的实例。myMovieClip.gotoAndPlay(frame) 跳转到指定帧并开始播放影片。myMovieClip.gotoAndStop(frame) 将播放头跳转到指定的帧,并停止影片的播放。myMovieClip.hitTest(x,y,shapeFlag) MovieClip.hitTest(target)判断指定的实例是否与标识的点击区域或target重叠或交叉。myMovieClip.loadMovie(url,variables)在播放原始SWF影片时,将外部SWF或JPEG文件加载到FlashPlayer中的影片剪辑中。myMovieClip.removeMovieClip()删除使用duplicateMovieclip动作或MovieClip对duplicateMovieclip或attachMovie方法创建的影片剪辑元件实例。myMovieClip.unloadMovie() 删除使用loadMovie或attachMovie方法加载的影片剪辑元件实例。MovieClip类的事件处理函数的八种状态名称用法说明MovieClip.onDatamyMovieClip.onData当影片剪辑元件实例通过loadVariables或loadMovie方法调用接收数据时调用事件MovieClip.onKeyDownmyMovieClip.onKeyDown当影片剪辑元件实例设置了输入焦点,并且有按键被按下时调用事件MovieClip.onKeyUpmyMovieClip.onKeyUp当键盘按键被释放时调用事件MovieClip.onMouseDownmyMovieClip.onMouseDown当鼠标左键按下时调用事件ovieClip.onMouseMovemyMovieClip.onMouseMove当移动鼠标时调用事件MovieClip.onMouseUpmyMovieClip.onMouseUp当释放鼠标时调用事件MovieClip.onPressmyMovieClip.onPress当用户在指定的影片剪辑元件实例上按下鼠标左键时调用事件MovieClip.onReleasemyMovieClip.onRelease当用户在指定的影片剪辑元件实例上释放鼠标左键时调用事件2.3.5 Sound类与Math类Math类的方法和属性可以访问和处理数学常数和函数。Math类的所有属性和方法都是静态的,并且必须使用语法Math.method(parameter)或Math.constant来调用。游戏中食物的随机出现就是利用了math函数里的随机函数。挤貼綬电麥结鈺贖哓类。游戏里的背景音乐还有对声音图标的控制也就是通过面向对象编程里的Sound类函数来控制实现的。名称用法说明Sound.attachSoundmySound.attachSound(idName)将指定标识符名称的声音文件附加到Sound对象中Sound.startmySound.start(secondOffset,loop)指定声音文件的播放Sound.stopSound.stop(idName)当指定了要停止播放的声音时,将停止该声音的播放;若未指定idName参数,则停止当前所有声音的播放Sound.setVolumemySound.setVolume(volume)设置Sound对象的音量Sound.loadSoundmySound.loadSound(url,isStreaming)将MP3声音文件加载到Sound对象的实例中2.3.6 Array类通过Array 类用户可以访问和操纵数组。数组是一个对象,其属性由表示该属性在数组中位置的数字来标识。此数字称为“索引”。所有数组都从零开始,这意味着数组中的第一个元素为 0,第二个元素为 1,依此类推。赔荊紳谘侖驟辽輩袜錈。方法说明Array.concat()连接参数,并将其作为新数组返回Array.join()将数组内的所有元素联接为一个字符串Array.pop()删除数组中最后一个元素,并返回该元素的值Array.push()将一个或多个元素添加到数组的结尾,并返回该数组的新长度Array.reverse()倒转数组的方向Array.shift()删除数组中第一个元素,并返回该元素的值属性说明Array.length指定数组中元素数量的非从零开始的整数3. 制作贪吃蛇游戏的整体规划贪吃蛇游戏设计整体结构图3.1贪吃蛇游戏的大致结构图游戏封面背景与主题游戏运行界面核心代码风格与设计影片剪辑函数脚本3.2游戏设计整体构思首先场景规划,主要有两个:一个是游戏封面,一个是游戏运行界面。其次是电影影片剪辑,主要有蛇,食物,背景设计等,按钮及文字属性都有自己的实例名,便于脚本控制。最后对整体的进行核心代码编写与控制。在软件环境里运行并调试,发现问题,分析并解决。最后发布游戏。塤礙籟馐决穩賽釙冊庫。3.3透视游戏设计的核心重点算法贪吃蛇的核心算法是如何实现移动和吃掉食物。没有碰到食物的时候,贪吃蛇继续移动,吃到食物的时候,蛇身增长。咬住蛇身或蛇尾的时候,能够暂停和开始。让游戏继续下去,食物随机出现,贪吃蛇继续游动,并记录游戏所得分数。裊樣祕廬廂颤谚鍘羋蔺。3.4游戏设计核心重点函数控制(1)新建一个数组来保存当前的蛇的身体aPieceList = new Array();(2)定义mouseListener对象来侦听鼠标的onMouseDown点击事件mouseListener = new Object();mouseListener.onMouseDown = function()函数体;仓嫗盤紲嘱珑詁鍬齊驁。(3)addPiece函数的作用是调用一段身体来增长蛇身。(4)moveFood函数的作用是当碰撞到食物的时候移动食物的位置。(5)startGame是脚本中重要的一部分。包括蛇的移动,碰撞和增加蛇身。4. 游戏详细设计与核心技术4.1游戏的详细设计实现游戏,主要的目的就是场景的布局及影片剪辑的在舞台中的动画实现。重点脚本代码的实现后台控制角色的运动。主要的设计内容就是如下步骤所示:绽萬璉轆娛閬蛏鬮绾瀧。4.1.1 游戏的设计的内容 (1) 新建一个300*500的文档;(2)设置文档属性中的帧频为12(设置的更高游戏的速度更快);(3)新建两个场景,分别命名为:sceneOne、sceneTwo;(4)分别对两个场景设置背景效果,是风格独具一格,注重色彩的搭配;(5)设置主题文字效果,并为每个场景创建影片剪辑与按钮;(6)为帧和按钮添加事件,脚本代码;(7)测试影片,保存并发布。 4.1.2游戏影片剪辑的设计场景1(sceneOne):(1)封面背景(2)设计封面主题文字与游戏规则(3)添加“游戏进入“按钮,并为该按钮添加:on(release)gotoAndPlay(sceneTwo,1);场景2(sceneTwo):(1)游戏运行背景,风格是手机类状的墨绿背景。(2)新建一层“屏幕”,在舞台上画个无边框的矩形,渐变填充色,具体属性如下:W:300 H:300 X:0 Y:0 骁顾燁鶚巯瀆蕪領鲡赙。(3)选择文本工具,在属性面板中设置为动态文本。在矩形的正下方放置一个动态文本来显示所得的分数。文本中写上start,设置字体和颜色。实例名称为tScore。瑣钋濺暧惲锟缟馭篩凉。(4)按下ctrl+F8,命名为piece,设置他的属性为影片剪辑,点击高级按钮,选择为ActionScript导出,那个标示符自动地被设置为piece。鎦诗涇艳损楼紲鯗餳類。(5)选择椭圆工具,在当前的舞台上画一个正圆并设置如下属性:W:15 H:15 X:0 Y:0 (6)作为蛇的身体,不想用圆形,其他图形也可,但是要保持它的高宽都是15。方法同上,制作一个标示符为food的影片剪辑。栉缏歐锄棗鈕种鵑瑶锬。(7)选择椭圆工具在舞台上画一个圆形,并设置为如下属性:W:15 H:15 X:0 Y:0作为蛇所吃到的食物来增长身体。也可在不修改高宽的情况下进行任意的修改。辔烨棟剛殓攬瑤丽阄应。4.2游戏的核心技术4.2.1脚本函数(1)在场景1(sceneOne)的第一帧添加代码:stop();(2)在场景2(sceneTwo)的第一帧添加代码:stop();var unit = 15; /正圆形大小var uwh = 20; /穿越或者是向下运动的var canMove = false; /控制在鼠标点击之前让蛇停止var dir = 2; /蛇开始时是向下运动的, UP=0, LEFT=1, DOWN=2, RIGHT=3峴扬斕滾澗辐滠兴渙藺。var score = 0; /所得分数aPieceList = new Array(); /新建一个数组来保存当前的蛇的身体/定义mouseListener对象来侦听鼠标的onMouseDown点击事件mouseListener = new Object();mouseListener.onMouseDown = function()if (!canMove) /防止在游戏的过程当中重新开始游戏 canMove = true; /可以运动startGame(); /调用starGame函数;Mouse.addListener(mouseListener);/当鼠标被按下的时候后onMouseDown事件函数被激活k = new Object();k.onKeyDown = function()var k = Key.getCode(); /获得按下的键的 ASCII码if (k = Key.UP & dir != 2 & canMove) /如果按下了上方向键,并且当前没有向下运动(防止撞倒自己),就可以移动 dir = 0; /设置方向为向上canMove = false; /防止在下一帧之前改变方向而导致的一些bugelse if (k = Key.LEFT & dir != 3 & canMove)dir = 1;canMove = false;else if (k = Key.DOWN & dir != 0 & canMove)dir = 2;canMove = false;else if (k = Key.RIGHT & dir != 1 & canMove)dir = 3;canMove = false;Key.addListener(k);/addPiece函数的作用是调用一段身体来增长蛇身function addPiece()var p = this.attachMovie(piece, piece + aPieceList.length, aPieceList.length); 詩叁撻訥烬忧毀厉鋨骜。/加载一段身体到舞台中p._x = aPieceListaPieceList.length - 1._x; p._y = aPieceListaPieceList.length - 1._y;/ 设置他的x、y的坐标为前一个的位置则鯤愜韋瘓賈晖园栋泷。aPieceList.push(p); /加入到数组中/moveFood函数的作用是当碰撞到食物的时候移动食物的位置function moveFood()var moveIt = true;while (moveIt) /在它碰到食物后移动食物food._x = Math.floor(Math.random() * uwh) * unit; food._y = Math.floor(Math.random() * uwh) * unit; /为食物选择一个随机的位置 胀鏝彈奥秘孫戶孪钇賻。moveIt = false;for (var i = 0; i = 0; i-) /删除蛇身稟虛嬪赈维哜妝扩踴粜。aPieceListi.removeMovieClip();aPieceList.pop();score = 0; /设置分数为0var p = this.attachMovie(piece, piece + aPieceList.length, aPieceList.length); 陽簍埡鲑罷規呜旧岿錟。/加载蛇身的第一段aPieceList.push(p); /添加到数组中p._x = 10 * unit; p._y = 10 * unit; /设置蛇身的位置var food = this.attachMovie(food, food, -1); /加载食物到舞台沩氣嘮戇苌鑿鑿槠谔應。moveFood(); /移动食物到随机的位置var startingLength = 3; /初始化蛇身的长度为3for (var i = 1; i 0; i-) /每个蛇身都以移动到它上一个的位置)钡嵐縣緱虜荣产涛團蔺。aPieceListi._x = aPieceListi - 1._x;aPieceListi._y = aPieceListi - 1._y;if (dir = 0) /如果向上移动 aPieceList0._y -= unit; else if (dir = 1) /如果向左移动 aPieceList0._x -= unit; else if (dir = 2) aPieceList0._y += unit; else if (dir = 3) aPieceList0._x += unit; if (aPieceList0._y / unit = 20)/如果蛇身超过最低的区域则让它出现在最上边 懨俠劑鈍触乐鹇烬觶騮。 aPieceList0._y = 0; else if (aPieceList0._y / unit = -1) aPieceList0._y = 19 * unit; else if (aPieceList0._x / unit = -1) aPieceList0._x = 19 * unit; else if (aPieceList0._x / unit = 20) aPieceList0._x = 0; if (aPieceList0._x = food._x & aPieceList0._y = food._y) 謾饱兗争詣繚鮐癞别瀘。/如果碰到食物就移动食物到新的位置,修改分数,增加身体score += 10 * aPieceList.length / 2;moveFood();addPiece();for (var i = 1; i aPieceList.length; i+) /如果第一部分的身体碰撞到了身体的任何部分就结束游戏if (aPieceList0._x = aPieceListi._x & aPieceList0._y = aPieceListi._y)呙铉們欤谦鸪饺竞荡赚。gameOver();4.2.2游戏的运行游戏设计已经做好结束的收尾工作,保存文件,命名为:贪吃蛇游戏.fla源文件,并按Ctrl+Enter
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国咖啡生豆行业销售状况与消费需求预测报告
- 2025-2030中国医疗保健营销服务行业运营状况与经营效益预测报告
- 2025年转向齿条项目申请报告模板
- 2025年风电电缆项目提案报告模范
- 2025-2030年中国城市交通控制行业发展趋势与前景展望战略研究报告
- 中西医结合科室协作管理制度
- 乡镇卫生院健康教育资料发放管理制度
- 医院后勤设施巡检管理制度
- 农业种植资源合理利用与保护协议
- 英语短文写作技巧提升与实践教案
- 备品备件保障方案
- 广告设计师三级理论知识鉴定要素细目表
- 会诊制度培训课件
- 人教版数学三年级下册期末考试试卷及答案
- 2024年涉密人员考试试题库保密基本知识试题附答案(考试直接用)
- 遗传学智慧树知到答案2024年吉林师范大学
- DB11T 765.4-2010 档案数字化规范 第4部分:照片档案数字化加工
- PTC Windchill:Windchill-系统架构与组件教程.Tex.header
- 物业消防安全管理培训【共54张课件】
- 2024福建金皇环保科技公司校园招聘(高频重点提升专题训练)共500题附带答案详解
- DL∕T 5766-2018 20KV及以下配电网工程工程量清单计算规范
评论
0/150
提交评论