HTML5的飞机大战游戏的设计与实现(4)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

HTML5的飞机大战游戏的设计与实现(4)

用 p 元素完成布局,运用 HTML5 中的 canvas 元素使用 JavaScript 在网页上绘制图 像。画布是一个矩形区域,可以控制其中的每一个像素。

canvas 具有拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。代码如下所示。论文网

<p style=”margin:0px auto;width:480px;height:650px;background:#323232; text-align:center;vertical-align:middle;”>

<canvas id=”canvas” width=”480px” height=”650px”></canvas>

</p>

5。3 游戏运行主要功能的实现

5。3。1 初始化游戏相关内容

1。创建 HTML 页面,显示游戏画面

(1)使用 HTML5 中的 canvas 内容

(2)HTML 页面中定义<canvas></canvas>元素

(3)JavaScript 实现 先获取<canvas>元素,再创建画布对象:getContext(),代码如下。 var canvas=document。getElementById(“canvas”);

var context=canvas。getContext(“2d”);

(4)游戏的初始化

第一步将游戏分解成 5 个阶段,先定义 5 个常量分别表示 5 个阶段,包括欢迎阶段 START、过渡动画阶段 STARTTING、运行阶段 RUNNING、暂停阶段 PAUSED 以及结束阶段 GAMEOVER,分别初始化五个阶段为 0、1、2、3、4;再定义变量,表示当前游戏处在哪个 阶段 var state=START;第二步将当前画布的宽度和高度获取,赋值给常量,代码如下。 const WIDTH=canvas。width;const HEIGHT=canvas。height;

2。引入游戏所需要的图片,代码如下。

//加载游戏背景图片 var bg=new Image();

bg。src="images/background.png";

5。3。2 游戏欢迎阶段

1。完成背景图片的绘制及移动的效果,具体过程如下所示。

(1)在画布中绘制背景图片 第一步加载游戏背景图片,代码如下。 var bg=new Image(); bg。src=”images/background.png”;

第二步初始化背景图片的数据,代码如下。

{

imgs:加载的图片数据, width:背景图的宽度, height:背景图的高度

}

第三步创建背景图片的构造器,代码如下。 function Sky(config){文献综述

//定义相关的属性 this。imgs=config。imgs; this。width=config。width; this。height=config。height;

//定义绘制第一张图以及第二张图的 y 值 this。y1=-this。height;

this。y2=0;

//定义绘制方法,背景图有向下移动的动画效果,背景图片实际只有一张,但实 际绘制时,绘制两张相同的图片,一上一下,控制一起向下移动。如果两张中任 意一张已经运行到画布外面,将这张图的 y 值重新设置到画布的正上方,然后继 续向下运行。绘制方法为 context。drawImage(img,x,y),在画布上定位图像,其 中第一张:(0,-height)、第二张:(0,0),第一张正好在第二张的正上方。 this。paint=function(){

context。drawImage(this。imgs,0,this。y1); context。drawImage(this。imgs,0,this。y2);

}//定义移动方法:控制两张图片同时向下移动,即控制 y 轴的值,同时还要判断两 张图片是否移出画面,判断条件是:图片的 y 值大于画布的高度,就移出了画面; 如果移出画面,图片的 y 值就要重新赋值为-height,即图片的高度。

(责任编辑:qin)