日期:2014-05-17  浏览次数:20630 次

LimeJS---Html5游戏引擎简介(续)--基本特性介绍
1.基于Closure

LimeJS基于Closure,Closure是Google开发的JS库。它已经被用来开发了许多产品比如Gmail,GoogleDocs等。它具有高可维护性,高可读性,快速等特点。他也可以和很多工具结合比如Compiler或Templates.
2.namespace命名空间
Closure的一个显著特点就是支持namespacing system(命名空间)。不像其他库那样所有的代码只靠文件分割。每一个文件为他其中的代码指定一个name,也可以通过name去引入其他的文件如果这个文件的name被公开了的话,类似于java中的import和package.
开发时你需要导入"base.js"文件,这个文件中提供了几个新的function比如
goog.provide(namespace)和goog.require(namespace)。Provide函数声明了这个文件中所有的代码能被它人访问的name。Require函数类似于java中的import

name不必指明正确的文件夹结构也能被正确找到。Closure使用deps.js文件管理namespace与文件路径的映射,这就意味着,如果你加入了新的namespace
你就必须在命令行中执行
python  bin/lime.py update
以便更新deps.js文件,这样你的新文件才能被访问到
在你自己的项目中并不一定要使用goog.provide()。但是最好用它。
这样在你最后编译你的游戏时会得到更好的结果

3.继承
使用LimeJS工作带来的一个特点就是可以以内置类的形式自定义子类。这样你可以给公共对象加入你自己游戏的特殊方法。下面是一个例子,从lime.Circle继承出一个Ball的子类
mygame.Ball.