html5游戏开发简单入门指南.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档