LimeJS---Html5游戏引擎简介(续)--基本特性介绍
veryEdu
2011-07-08
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. |