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.
#!JavaScript
// make file loadable from other files
goog.provide('mygame.Ball');
// request that lime.Circle's definitions are loaded
goog.require('lime.Circle');
// new constructor
mygame.Ball = function(){
// call parents constructor
goog.base(this);
// custom initialization code
this.color_ = 'red';
}
// define parent class
//注意这里就是设定Ball与Circle的继承关系
goog.inherits(mygame.Ball,lime.Circle);
// new custom method for ball instances
mygame.Ball.prototype.myMethod = function(){
}
4.Event
Closure给你提供了函数用来为Object产生监听事件
你可以用`goog.events.listen(src, type, listener, opt_capture, opt_handler)`. 函数添加监听事件 Src 是发送事件的目标对象,type是事件类型(for example mousedown). Listener 是事件触发后的回调函数 移除事件使用`goog.events.unlisten()` 参数一样
如果你想让你的自定义对象能够产生事件,你必须继承goog.events.EventTarget
然后调用对象的 `dispatchEvent()方法.
想要了解更多Closure Library的信息,
访问文档http://closure-library.googlecode.com/svn/docs/index.html,
电子书
http://www.amazon.com/Closure-Definitive-Guide-Michael-Bolin/dp/1449381871
视频http://www.youtube.com/watch?v=yp_9q3tgDnQ
分享到:
相关推荐
**LimeJS——HTML5游戏引擎详解** LimeJS是一款基于HTML5技术的游戏开发框架,专为构建高性能、跨平台的互动游戏而设计。它利用WebGL和HTML5 Canvas技术,提供了一套全面的工具集,让开发者可以更加便捷地创建2D...
在使用LimeJS-source时,首先需要了解HTML5游戏开发的基本概念,包括Canvas绘图、Web Audio API、以及如何利用JavaScript进行事件处理和动画制作。HTML5的Canvas元素提供了一个二维图形绘制的画布,而Web Audio API...
LimeJS是一款强大的开源...总之,LimeJS为HTML5游戏开发提供了一个强大且灵活的平台,结合其丰富的特性、社区支持和易于上手的特性,无论是初学者还是经验丰富的开发者,都能从中受益并快速创建出引人入胜的游戏作品。
LimeJS 是一个 JavaScript 游戏开发框架,允许开发者创建基于 HTML5 的游戏,支持主流浏览器包括iOS。 标签:LimeJS
使用 LimeJS 开发游戏时,你需要掌握 HTML5、CSS3 和 JavaScript 基础,了解 Canvas API 和基本的编程概念。对于更高级的功能,如物理引擎和音频处理,还需要相应的知识背景。 在提供的压缩包文件“limejs”中,你...
HTML5游戏开发框架是现代网页游戏制作的重要工具,它们为开发者提供了一系列的工具、库和API,使得构建交互式、高性能的游戏变得更加便捷。LimeJS就是这样一个框架,它在国外受到了广泛的赞誉,尤其因其轻量级的特性...
支持以下游戏引擎: Cocos2d iPhone - iPhone Corona(TM) SDK - Cross-platform game development framework Gideros - Cross platform game development framework Sparrow - iPhone LibGDX - Java (Android ...
在探讨HTML5工具的介绍与应用时,我们深入解析了一系列关键知识点,涵盖了移动开发、游戏开发以及相关的开发框架和调试工具。以下是对这些知识点的详细阐述: ### HTML5移动开发工具概览 #### 关于移动Web应用与...
总的来说,"ungravity"是一款利用了JavaScript生态系统中多个强大工具的游戏,通过LimeJS构建游戏框架,Google Closure Library优化代码和提高性能,Box2D引擎赋予游戏物理特性。这样的组合展示了HTML5游戏开发的...
2. 使用垂直的js库,如canvas游戏库LimeJs, GameJs等。 3. 使用Mobile UI库,如jquery mobile, sencha touch, iui等。 4. 使用隐藏标题栏的技巧,如addEventListener(“load”, function() { setTimeout(function ...
在数字娱乐领域,H5小游戏因其无需安装、即开即玩的特性,受到了广大用户的喜爱。本篇将深入探讨一款名为“果冻任务”的H5小游戏源码,旨在帮助开发者理解和学习如何构建此类游戏。 “果冻任务”是一款轻量级的游戏...
JO框架能构建类似本地应用的程序,LimeJS专注于游戏开发,而SenchaTouch则是第一应用HTML5开发的框架体系,支持利用Javascript和CSS3构建APP程序,并使其运行效果接近本地应用。 HTML5在移动互联网开发中的应用体现...
三七-html5 ... 我在 2012 年 3 月使用limejs now nowjs 在几天内制作了这个游戏,但我决定发布代码,因为我非常喜欢这个游戏概念。 演示 。 请注意,由于它是作为 github 上的静态页面托管的,因此
基于HTML5 Canvas的游戏“迷宫”。 来吧,开始游戏并帮助迈克收集所有徽章! 如何找到游戏页面? 您的游戏位于迷宫文件夹中。 要开始游戏,请在地址栏上输入以下路径: ...
9. LimeJS是基于HTML5的高性能游戏开发框架,特别适合于需要触屏设备和桌面浏览器交互的游戏开发。 10. HTML5 Reset是一组文件,包括HTML、CSS等,用于在开发新项目时节省时间,提供了HTML5空白WordPress模板。 ...
15. **LimeJS**:这是一个JavaScript游戏开发框架,支持基于HTML5的游戏开发,兼容多种浏览器,包括iOS。 16. **The HTML5 Test**:通过这个测试,开发者可以评估浏览器对HTML5标准的支持程度,确保代码的兼容性。 ...
- 针对特定需求,还可以选择专门的JavaScript库,如用于游戏开发的LimeJs和GameJs,或者为移动设备设计的UI库如jQuery Mobile和Sencha Touch。 综上所述,RBAC模型提供了一种高效管理用户权限的方式,而构建基于...