如何使用Createjs来编写HTML5游戏完成一个简单的打飞机游戏

JavaScript030

如何使用Createjs来编写HTML5游戏完成一个简单的打飞机游戏,第1张

CreateJS包含4个部分,EaselJS、TweenJS、PreloadJS、SoundJS,其中最主要的部分EaselJS包含了开发Html5游戏的所有功能,仅仅使用EaselJS几乎可以完成所有的开发工作,其余三项可以看作EaselJS的辅助工具。比如响应tick事件然后改变元素坐标就可以实现动画功能,而使用TweenJS来创建补间动画,则可以省去你很多代码,简化了操作。一个简单的tick动画看起来是这样的:<pre t="code" l="js">var stage, circle

function init(){

stage = new createjs.Stage(document.getElementById('game'))

createjs.Ticker.addEventListener("tick", handleTick)

createjs.Ticker.setFPS(60)

circle = new createjs.Shape()

circle.graphics.f("red").dc(0,0,50)

circle.x = 0

circle.y = 100

stage.addChild(circle)

circle.addEventListener("click", function(event){

createjs.Ticker.setPaused(!createjs.Ticker.getPaused())

})

}

function handleTick(event){

if(!event.paused){

circle.x +=5

if(circle.x >1000){

circle.x = 0

}

}

stage.update()

}

我想对于每个Cocos2d游戏开发者来说,js-tests一直都是学习和参考的宝贵资源,也是最权威的指导教程。而,我们知道,CocosCodeIDE是官方推荐的一款强有力的IDE,其功能之强大,之便捷是其他IDE所无法比拟的。那么如何将二者组合在一起,为我们的学习提供帮助呢?本篇博客将带你走进他们的世界。

一、了解CocosCodeIDE和js-tests

CocosCodeIDE:官网推出的一款强大的IDE,基于Eclipse改制而成。其主要特色在于两个方面:

便捷实用: CocosCodeIDE安装简单,配置和创建项目非常容易,运行,调试,发布项目也非常容易上手。

功能强大: 我认为CocosCodeIDE最吸引我的地方就是其强大的功能,主要体现在对源码进行修改后,只需要保存,即可在运行的游戏中看到修改之后的效果,而不需要重新运行游戏。这为经常发生的“微调”操作带来了极大的便利。

PS:CocosCodeIDE官方下载地址:http://cn.cocos2d-x.org/download/#anchor5

CocosCodeIDE官方教程:http://cn.cocos2d-x.org/article/index?type=code-ide&url=/doc/cocos-docs-master/manual/code-ide/zh.md

js-tests:当你下载好游戏引擎包时,一般都会自带两个案例教程,一个就是大家经常看到的“打飞机”游戏,另一个就是js-tests。至于它们在哪里呢?请到你的安装目录下的samples文件夹下寻找,如下图:

js-tests里面主要展示的是cocos2d API的具体使用方法的案例教程,几乎每个API都可以找到使用示例,效果非常赞。

二、为什么要组合?

在组合之前,我们解释一下为什么要将二者组合。网上的不少教程都推荐大家通过第三方软件的帮助,如:appserv,wamp,xampp等,来实现在浏览器中直接运行js-tests和moonwarriors(打飞机),并通过浏览器中观看效果,IDE中查看代码的方式进行学习,可是这样不仅反复切换非常麻烦,也不能通过自己的微调来查看效果的改变,当然了,如果要看到改变必须重新运行加载一遍。非常浪费时间,异常繁琐。

相比之下,我们会发现,在CocosCodeIDE中,我们可以通过win32调试功能,这个非常强大的功能,对我们的js-tests进行实时微调,这对于学习来说,无疑是巨大的帮助。当然了,你也可以通过CocosCodeIDE中的通过浏览器运行的功能,在浏览器中查看js-tests的运行情况。下面,我们就来一起将CocosCodeIDE和js-tests组合起来吧。

PS:友情提醒,通过win32调试和在浏览器中运行得到可测试的功能是稍有差异的,有的功能只能在win32调试状态下查看,有的则只能在在浏览器中运行状态下查看。

win32运行状态下无法查看的功能有:

Bake Layer Test

Box2D Test

Facebook SDK Test

Reflection Test

TextInput Test

Touches Test

在浏览器中运行无法查看的功能有:

Effects Test

Effects Advanced Test

MotionStreak Test

OpenGL Test

Reflection Test

Cocos2d JS Presentation

下图为CocosCodeIDE部分截图,其中最左边两个按钮分别为win32调试,win32运行,最右边的按钮为在浏览器中运行。

1、obj1你可以将其理解为一个物体,在网页中的表现他可能就是一个dom节点。

2、getStyle函数所做的事情是取节点样式的值,其中ele表示的是需要取样式值得dom节点,attr表示的是需要取哪个样式?currentStyle和getComputedStyle是浏览器支持的,之所以这样写是为了兼容各个浏览器。

3、etStyle(obj1,'left')就是去obj1这个元素距离左边的偏移量,是距离网页最左边还是父元素要看当前元素是什么定位。

4、最后的if判断就是判断两个元素有没有碰撞到。