`

Cocos2dx+lua合适还是Cocos2dx+js合适

    博客分类:
  • c++
 
阅读更多

我个人肯定是推荐 Lua 的,原因如下:

1. 运行效率:Lua 的性能在各种测试里都比 JavaScript 快不少。而移动设备上存在不支持 JIT 的情况(未越狱的 iOS 设备),Lua 对比 JavaScript 的性能优势就更明显。

2. 安全性:现在 cocos2d-x 使用 LuaJIT 来执行 Lua,所以可以把 Lua 代码编译为字节码再打包到游戏里。由于 LuaJIT 的字节码是高度优化过的,所以目前还没有反编译工具。而 JS 虽然也可以用字节码,但从目前的情况看还达不到 LuaJIT 的安全性。

3. 与 C/C++ 的交互:Lua 原本就是作为嵌入式语言来设计的,所以天然和 C/C++ 很容易交互。JS 这方面是个劣势。

4. 与 Java/Objective-C 的交互:不管是 quick-cocos2d-x 里提供的 luaoc/luaj 模块,还是 wax, luajava 这些开源项目,都让我们可以绕过 C/C++ 层实现 Lua 和 Java/Objc 的交互。这个优势在游戏发行阶段,集成各种第三方 SDK 时绝对会节约巨量时间!!!

----------------------------------------

当然,cocos2d-x 目前明显是在主推 JS 的解决方案,因为 JS 可以跨越移动设备、桌面的界限,实现一套程序跑任意平台。不过我个人认为以当前 HTML5 的发展情况,对于要强调体验的游戏来说,HTML5 还要一些时间。

从目前的市场情况来说,Lua 明显是更理性的选择:成熟、安全性高、众多大作采用。

----------------------------------------

前面提到 JS 更容易面向对象,我想可能是因为大家对 Lua 还不够了解造成的错觉。实际上,Lua 和 JS 实现面向对象的机制几乎是一样的。JS 基于 prototype,Lua 基于 metatable,在我看来仅仅是名字不同而已。

----------------------------------------

最后,不得不向大家推荐 quick-cocos2d-x 这个基于 cocos2d-x + Lua 的扩展版。quick 在 cocos2d-x + Lua 的基础上提供了诸多简化开发的扩展功能,以及开发框架。

分享到:
评论

相关推荐

    cocos2dx +lua 斜45度A星寻路算法

    cocos2dx +lua 斜45度A星寻路算法 lua实现 使用 Astar:getInstance():InitAstar(阻挡数组,地图宽,地图高) Astar:getInstance():GetPath(起点,终点,true) 返回路径点

    cocos2dx+Lua 实现2048小游戏

    lua文件直接放到cocos2dx的例子HelloLua项目中即可 参考目录 E:\cocos2d-x-2.2\samples\Lua\HelloLua\Resources 窗口大小 480 * 640

    cocos2dx_lua开发笔记

    【cocos2dx_lua开发笔记】是一篇个人实践总结,主要涵盖了使用cocos2dx_lua进行游戏开发的一些关键点,包括图层创建、WebView的使用、动态布局进度条的实现以及骨骼动画的操作方法。以下是对这些知识点的详细解析: ...

    Cocos2d-x实战++Lua卷.pdf

    总之,Cocos2d-x与Lua的结合为游戏开发者带来了极大的便利,无论是在提高开发效率方面还是在提升游戏性能方面都有着显著的优势。随着技术的不断进步和完善,相信未来会有更多优秀的作品诞生于这样的技术组合之下。

    基于Cocos2dx + box2d 实现的愤怒的小鸟Demo

    《基于Cocos2dx + Box2d实现的“愤怒的小鸟”Demo详解》 在游戏开发领域,Cocos2dx和Box2d是两款广泛使用的工具。Cocos2dx是一款跨平台的游戏开发框架,它基于C++,为开发者提供了丰富的功能和高效的性能,而Box2d...

    cocos2dx针对luaforwindows(或scite)的api提示文件

    《cocos2dx针对luaforwindows(或scite)的API提示文件详解》 在游戏开发领域,cocos2dx是一款广泛使用的开源游戏引擎,它支持多种编程语言,包括Lua。Luaforwindows(或Scite)是lua语言的常用开发环境,提供了...

    Cocos2dx-lua xxtea解密工具

    可以快速解出cocos-lua, quick-cocos引擎使用xxtea加密的lua与zip文件。对luajit编译过的bytecode毫无办法。 资源来自吾爱破解论坛,作者ID:skyxiaoyu。感谢作者的分享

    vscode-coco2dx-lua-api.7z

    《使用VSCode高效开发Cocos2d-x Lua项目——基于"vscode-coco2dx-lua-api.7z"的工具解析与应用》 在现代游戏开发领域,Cocos2d-x作为一款广泛使用的跨平台游戏引擎,为开发者提供了丰富的功能和高效的性能。而在...

    cocos2dx-lua 笔记

    四、Cocos2dx-Lua 游戏开发流程 1. 创建项目:使用 Cocos Console 或者 Xcode、Android Studio 等工具创建新的 Cocos2d-x Lua 项目。 2. 编写 Lua 脚本:在项目的 scripts 目录下,编写游戏的各个模块,如主菜单、...

    cocos2dx+中文版

    Cocos2d-x是一款强大的跨平台2D游戏开发框架,它基于C++,并支持Lua和JavaScript等多种脚本语言。本书旨在帮助读者快速掌握Cocos2d-x的基本概念和操作,为游戏开发之旅打下坚实基础。 首先,我们要了解Cocos2d-x的...

    cocos2dx+lua实现橡皮擦功能

    Cocos2d-x是一个跨平台的游戏开发框架,它允许开发者用C++、Lua或JavaScript编写游戏逻辑。在这里,我们将主要关注使用Lua来实现橡皮擦功能。首先,我们需要理解实现橡皮擦效果的基本原理:当用户触摸屏幕并移动手指...

    Cocos2dx摇杆lua版

    Cocos2dx是一款广泛应用于开发2D和3D游戏的开源游戏引擎,它基于C++,并且支持多种脚本语言,包括Lua。在Cocos2dx中实现虚拟摇杆是移动游戏开发中常见的一种功能,它能为玩家提供游戏内的控制输入。本文将详细介绍...

    使用_cocos2d-x_和_Lua_快速开发游戏.pdf

    3. **创建LuaHost项目**:使用cocos2dx_lua模板创建新项目,并设置在iOS模拟器中运行。 4. **配置Xcode**:针对iOS4.3模拟器进行配置,以避免不必要的警告信息干扰。 5. **修改AppDelegate.cpp**:调整脚本加载路径...

    cocos2dx lua解密工具

    cocos2dx lua 解密工具xxtea_decrypt,非常好用,直接就可以反编译出来

    cocos2dx-lua 自建MVC

    【cocos2dx-lua 自建MVC】是一种在游戏开发中实现模型-视图-控制器(MVC)设计模式的方法,特别是在使用cocos2dx框架和lua脚本语言时。这种模式有助于组织代码,提高可维护性和可扩展性。在cocos2dx-lua项目中,MVC...

    cocos2dx lua绑定

    总结来说,"cocos2dx lua绑定"是一个将C++游戏引擎Cocos2d-x与脚本语言Lua相结合的技术,通过tolua++等工具自动或手动创建绑定,使开发者能用Lua编写游戏逻辑,享受其简易性和高效性,同时利用C++进行性能关键部分的...

    Cocos2dx lua版的富文本框

    2. **手动换行**:除了自动换行,Cocos2d-x Lua的富文本框还支持用户手动插入换行符,例如使用`\n`来指定一个新的行开始,这样可以更精确地控制文本的布局。 3. **字体颜色选择**:在富文本框中,你可以为不同的...

    cocos2dx 游戏开发系列之三 源码

    《cocos2dx游戏开发系列之三:源码解析与Android工程构建》 在游戏开发领域,cocos2dx是一个广泛使用的开源游戏引擎,尤其在跨平台开发中扮演着重要角色。本篇将深入探讨cocos2dx游戏开发系列的第三部分——源码...

Global site tag (gtag.js) - Google Analytics