- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
html5游戏开发简单入门指南
HTML5游戏制作完全指南??简介你想使用HTML5的Canvas制作一款游戏吗?跟着这个教程,你将立刻上道儿。阅读该教程需要至少熟悉javascript相关知识。你可以先玩这款游戏或者直接阅读文章并且下载游戏源码。?创建画布在画任何东西之前,我们必须创建一个画布。因为这是完全指南,并且我们将用到jQuery.var CANVAS_WIDTH =480;var CANVAS_HEIGHT =320;varcanvasElement= $(canvas width=+ CANVAS_WIDTH + height=+ CANVAS_HEIGHT +/canvas);var canvas =canvasElement.get(0).getContext(2d);canvasElement.appendTo(body);?游戏循环为了呈现给玩家连贯流畅的游戏动画,我们要频繁地渲染画布来欺骗玩家的眼睛。var FPS =30;setInterval(function(){ update(); draw();},1000/FPS);现在我们先不管update和draw里面的实现,重要的是我们要知道setInterval()会周期性的执行update和draw?Hello world现在我们已经搭建好了一个循环的架子,我们去修改update和draw方法来写一些文字到屏幕。function draw(){canvas.fillStyle=#000;// Set color to blackcanvas.fillText(Sup Bro!,50,50);}专家提醒: 当你稍微更改了一些代码的时候就执行一下程序,这样可以更快的找到程序出错地方。静止文字正常的显示出来了。因为我们已经有了循环,所以我们可以很容易地让文字动起来~~~vartextX=50;vartextY=50;function update(){textX+=1;textY+=1;}function draw(){canvas.fillStyle=#000;canvas.fillText(Sup Bro!,textX,textY);}执行程序。如果你一步一步照着上面做下来,可以看到文字移动。但是上一次的文字却还留在屏幕上,因为我们没有擦除画布。现在我们在draw方法中加入擦除方法。function draw(){canvas.clearRect(0,0, CANVAS_WIDTH, CANVAS_HEIGHT);canvas.fillStyle=#000;canvas.fillText(Sup Bro!,textX,textY);}现在你可以看到文字在屏幕上移动了,它已经算是一个真正意义上的游戏,只不过是个半成品。?创建player创建一个包含player所有信息的对象,并且要有draw方法。这里创建了一个简单的对象包含了所有的player信息。var player ={ color:#00A, x:220, y:270, width:32, height:32, draw:function(){canvas.fillStyle=this.color;canvas.fillRect(this.x,this.y,this.width,this.height);}};我们现在用一个纯色的矩形来代表player.当我们把它加入游戏当中的时候,我们需要清除画布并且画上player.function draw(){canvas.clearRect(0,0, CANVAS_WIDTH, CANVAS_HEIGHT);player.draw();}?键盘控制使用jQuery HotkeysjQuery Hotkeys plugin在处理键盘行为的时候,可以更加容易的兼容不同的浏览器。让开发者不用因为不同浏览器之间的keyCode?andcharCode不同而苦恼,我们这样绑定事件:$(document).bind(keydown,left,function(){...});移动playerfunction update(){if(keydown.left){player.x-=2;}if(keydown.right){player.x+=2;}}是不是感觉移动不够快?那么我们来提高它的移动速度。function update(){if(keydown.left){player.x-=5;}if(keydown.right){player.x+=5;}player.x=player.x.clamp(0, CANVAS_WIDTH -player.width);}我们可以很容易的添加其他元素,比如炮弹:function update(){if(keydown.space){play
您可能关注的文档
- 2018考研数学基础复习阶段如何打好基础.docx
- 20层楼筏板基础设计计算手稿.doc
- 211画室2012届学员美术培训年度课程.doc
- 224华为工卡形式规定.doc
- 22种实用外贸工具MicrosoftWord文档.doc
- 21成功电话销售应有基本作为.doc
- 24102综采工作面过无炭柱安全技术措施.doc
- 20个经典易学小魔术教学全解.docx
- 21世纪大学英语应用型综合教程2U4译文.doc
- 26个英语字母汉语翻译读音.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)