html5游戏框架

以下是为您整理出来关于【html5游戏框架】合集内容,如果觉得还不错,请帮忙转发推荐。

【html5游戏框架】技术教程文章

HTML5游戏框架cnGameJS开发实录-精灵对象篇【图】

返回目录1.什么是精灵对象(sprite)?  所谓的精灵对象,就是游戏中的一个具有行为的元素,以超级玛丽为例,玛丽,敌人都算是一个精灵对象。在cnGameJS框架中,精灵对象如下几个特点:  1.添加动画:在之前的动画篇中,我们介绍过cnGameJS如何实现帧动画。而作为精灵对象,就是动画的使用者。例如我们控制玛丽向不同方向的行走,玛丽会产生行走的动画。  2.包含图像:对于另外一些精灵对象,它可能不需要运动动画,这时我们...

HTML5游戏框架cnGameJS开发实录-游戏循环篇

由于整个游戏都在一个游戏循环中进行,所以游戏循环可以说是游戏的核心部分。每次循环时,更新游戏对象的属性,以及绘制游戏元素。  在之前的资源加载篇已经提到过,在资源加载完成后,启动游戏的同时会启动一个游戏循环,现在再来回顾这部分代码:/***图像加载完毕的处理程序**/ var imgLoad=function(self){return function(){self.loadedCount+=1;self.loadedImgs[this.srcPath]=this;this.onLoad=null; ...

HTML5游戏框架cnGameJS开发实录-游戏场景对象【图】

1.什么时候需要场景对象?  场景对象有区别于上一篇介绍的地图对象,它们分别应用于不同类型的游戏。之前的地图对象应用于格子类的游戏,例如推箱子,坦克大战。而本节介绍的场景对象,则适用于拥有特定场景的游戏,例如超级玛丽,恐龙快打等。这类游戏通常在2d场景内控制一个玩家对象,随着玩家的移动,场景跟着移动。2.场景示例:效果:(左右键控制超级玛丽的移动)代码:<body> <div><canvas id="gameCanvas">请使用支持canv...

HTML5游戏框架cnGameJS开发实录-资源加载模块代码详解

1.功能    该模块是游戏的入口,我们通过该模块加载资源,并且在资源加载完成后调用游戏对象的入口函数。另外该模块还包括游戏场景之间的切换,以及加载百分比的计算和显示。  当开始游戏时,首先传入需要加载的资源列表,然后传入游戏对象,最后传入每个资源加载完成后调用的函数,该函数可以获取加载的百分比。如下:cnGame.loader.start(["src1","src2","src3"],gameObj,function(loadedPercent){});  这样的话,会先加载...

HTML5游戏框架cnGameJS开发实录-核心函数模块篇的代码实例

返回目录1.cnGameJs框架的代码组织   核心函数模块,主要的作用是为之后的框架开发和用户对游戏的开发提供方便,整个框架在一个闭包之中,避免对全局作用域的污染。之后每个不同的模块分别在自己的闭包内,使不同模块的分割更清晰。因此我们框架的模块划分会是这样:(function(win,undefined){//最大的闭包var fun1=function(){//各模块公用的方法 }//这里放各个小模块,它们有各自的闭包}(window,undefined)  那么我们如何再...

HTML5游戏框架cnGameJS开发实录-实现动画原理【图】

在游戏中,游戏角色的动画效果是一个游戏必不可少的一部分。这节我们以构造超级马里奥的角色为例,讲解cnGameJS里动画的实现。1.原理:  一个动画如果要实现一连串动作,我们可以把每个动作的快照保留起来,并放在一个大图上面,然后每次帧更新的时候,就在每个动作的快照之间循环显示,最终得出一个动画。因此我们首先要准备一个类似下面的这种图片:  看到不?把每个动作放在图片的不同位置上,之后就可以通过改变显示位置实...

HTML5游戏框架cnGameJS开发实录-碰撞检测模块篇

本模块的碰撞检查只局限于点与矩形,(平行的)矩形与矩形,点与圆形,圆形与圆形之间的检测,因此该模块也很简单,直接结合代码来看看:点与矩形:/***点和矩形间的碰撞**/ this.col_Point_Rect=function(pointX,pointY,rectObj){return (pointX>rectObj.x&&pointX<rectObj.right||pointY>rectObj.y&&pointY<rectObj.bottom); }  当一个点在矩形内时,我们认为它们产生了碰撞。矩形与矩形:/***矩形和矩形间的碰撞**/...

HTML5游戏框架cnGameJS开发实录-外部输入模块篇

1.为什么我们需要外部输入模块?  在游戏中我们常常用到类似这样的操作:鼠标点击某位置,玩家对象移动到该位置,或者按鼠标方向键,玩家向不同方向移动,等等。这些操作无一不用与外部输入设备打交道。作为游戏的设计者,我们很需要在任何时候知道鼠标目前的位置,键盘的点击状况等,从而方便我们对游戏元素加以控制。因此作为一个游戏框架,外部输入模块也是必不可少的。2.提供哪些功能,怎样使用?  外部输入模块主要实现的...

HTML5游戏框架cnGameJS开发实录-基本图形模块篇

1.功能  该模块也很简单,主要包括三个基础图形的绘制:矩形 圆形 文字。我们把一个个图像以构造函数的模式封装,例如当我们需要绘制一个矩形对象,我们首先new出一个矩形对象,再调用对象的draw方法进行绘制。例如:var rect=new cnGame.shape.Rect(); rect.draw();2.实现  该模块包括三个图形对象,因此我们建立三个构造函数,它们分别有自己的各种方法,包括绘制,移动,旋转,尺寸调整等等,由于三个对象的方法有较多相似,...

HTML5游戏框架cnGameJS开发实录-游戏地图对象篇【图】

1.什么场合需要用到游戏地图对象?  游戏地图对象适用于类似坦克大战,推箱子之类的游戏。这些游戏的地图都由一个个小格子组成,使用游戏地图对象,可以很方便地生成这种地图。2.示例:生成地图  使用地图对象,只需要很少的代码量就可以根据二维数组生成地图。  代码:<body> <canvas id="gameCanvas">请使用支持canvas的浏览器查看</canvas> </body> <script src="http://files.cnblogs.com/Cson/cnGame_v1.0.js"></script...