来源:自学PHP网 时间:2015-01-26 11:14 作者: 阅读:次
[导读] 这篇文章主要介绍了使用html5 canvas创建太空游戏的示例,需要的朋友可以参考下...
这篇文章主要介绍了使用html5 canvas创建太空游戏的示例,需要的朋友可以参考下
HTML5 Canvas 可以快速创建出有助于游戏开发的轻型图片。 本部分说明如何使用 Canvas 创建将在网页中运行的怀旧风格外太空飞行游戏。 此游戏的设计主要是为了展示使用 Canvas 功能开发 Web 游戏的基本原则。 此太空游戏的目标是,使您的宇宙飞船穿过分布着爆炸小行星的星域,安全返回基地。 复制代码 代码如下:<!DOCTYPE html> <html> <head> <script type="text/javascript"> // This function is called on page load. function canvasSpaceGame() { // Get the canvas element. canvas = document.getElementById("myCanvas"); // Make sure you got it. if (canvas.getContext) // If you have it, create a canvas user inteface element. { // Specify 2d canvas type. ctx = canvas.getContext("2d");</p> <p>// Paint it black. ctx.fillStyle = "black"; ctx.rect(0, 0, 300, 300); ctx.fill();</p> <p>// Paint the starfield. stars();</p> <p>// Draw space ship. makeShip(); } }</p> <p>// Paint a random starfield.</p> <p> function stars() {</p> <p>// Draw 50 stars. for (i = 0; i <= 50; i++) { // Get random positions for stars. var x = Math.floor(Math.random() * 299) var y = Math.floor(Math.random() * 299)</p> <p>// Make the stars white ctx.fillStyle = "white";</p> <p>// Give the ship some room. if (x < 30 || y < 30) ctx.fillStyle = "black";</p> <p>// Draw an individual star. ctx.beginPath(); ctx.arc(x, y, 3, 0, Math.PI * 2, true); ctx.closePath(); ctx.fill(); } }</p> <p>function makeShip() {</p> <p>// Draw saucer bottom. ctx.beginPath(); ctx.moveTo(28.4, 16.9); ctx.bezierCurveTo(28.4, 19.7, 22.9, 22.0, 16.0, 22.0); ctx.bezierCurveTo(9.1, 22.0, 3.6, 19.7, 3.6, 16.9); ctx.bezierCurveTo(3.6, 14.1, 9.1, 11.8, 16.0, 11.8); ctx.bezierCurveTo(22.9, 11.8, 28.4, 14.1, 28.4, 16.9); ctx.closePath(); ctx.fillStyle = "rgb(222, 103, 0)"; ctx.fill();</p> <p>// Draw saucer top. ctx.beginPath(); ctx.moveTo(22.3, 12.0); ctx.bezierCurveTo(22.3, 13.3, 19.4, 14.3, 15.9, 14.3); ctx.bezierCurveTo(12.4, 14.3, 9.6, 13.3, 9.6, 12.0); ctx.bezierCurveTo(9.6, 10.8, 12.4, 9.7, 15.9, 9.7); ctx.bezierCurveTo(19.4, 9.7, 22.3, 10.8, 22.3, 12.0); ctx.closePath(); ctx.fillStyle = "rgb(51, 190, 0)"; ctx.fill(); } </script> </head> <body onload="canvasSpaceGame()"> <h1> Canvas Space Game </h1> <canvas id="myCanvas" width="300" height="300"> </canvas> </body> </html> Canvas 代码示例讨论 本节说明本代码示例的设计和结构。 它为您讲解代码的不同部分,以及整合它们的方式。 Canvas 示例使用标准 HTML5 标头 ,以便浏览器可以将它作为 HTML5 规格的一部分加以区别。 代码分成两个主要部分: 主体代码 脚本代码 canvasSpaceGame 函数 stars 函数 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com