首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是Cocos2d-JS?

什么是Cocos2d-JS?
EN

Stack Overflow用户
提问于 2014-10-28 15:02:22
回答 2查看 1.5K关注 0票数 2

Cocos2d-JS是Cocos2d-x引擎的JavaScript版本,包括cocos2d-html 5和Cocos2d-x JavaScript绑定。它为您的游戏配备了跨浏览器和跨平台功能,并附带完整的Cocos2d-x特性和简化的JavaScript友好API。

我知道你写了JS,它在任何地方都能工作,但是它是如何完成的呢?我想要理解这个图表:Cocos2d-js和我理解的cocos2d-HTML 5和cocos2d-x是一样的,但是它是在JS中并且基于WebGL的。如果这是真的,那么Cocos2d-JSB是什么?它是否将JS脚本编译成本机代码?或者是JS扩展解释器,它比本地解释器更能理解并且能够解释cocos2d特定的命令?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-28 20:10:26

Cocos2d-x使用Firefox虚拟机(VM) SpiderMonkey来执行JS代码。 JS被扩展到支持所有cocos2d、Chipmunk和CocosBuilder Reader。因此,当您在JS中创建一个CCSprite时,实际上是在创建一个C++ CCSprite。当您在JS中创建一个操作时,您实际上是在创建一个C++操作,当您在JS中创建一个粒子系统时,您实际上是在创建一个C++粒子系统…。诸若此类。这种方法比HTML5游戏快10倍~20倍,即使它们使用directCanvas这样的加速器时--基本上所有的cocos2d、花栗鼠或CocosBuilder Reader都将以本机速度执行。但是,您应该注意以下情况:在运行垃圾收集器时,性能可能会减慢。解决办法:不要创建许多JS对象。重用尽可能多的复杂主循环可能会降低性能。解决办法:分析您的JS代码,如果不能进一步优化它,请用C++编写昂贵的部分,并为这些函数创建JS绑定。

这是来自维基。的,因此JS解释器被扩展到理解cocos2d api命令,如create或create。

票数 0
EN

Stack Overflow用户

发布于 2014-10-28 17:31:13

据我所知,cocos2d-html 5和cocos2d-x是一样的,但它是在JS中基于WebGL的。如果这是真的,那么Cocos2d-JSB是什么?

我相信附加在cocos2d-x JSB上的JSB只是指: cocos2d-x JavaScript绑定。

在两种编程语言之间进行翻译/中介的模块通常称为“绑定”。JSB只是cocos2d-x的一个小方面,它允许用户通过cocos2d-x C++呈现引擎运行用cocos2d-jsJavascript编写的应用程序。

注意,cocos2d-html 5与cocos2d-x并不完全相同。它提供了与cocos2d-x类似的功能,但只在web浏览器中运行。很明显,cocos2d-HTML 5没有用于触摸或加速度计输入的功能,例如,在保存和加载文件时也没有其他限制。

它是否将JS脚本编译成本机代码?或者是JS扩展解释器,它比本地解释器更能理解并且能够解释cocos2d特定的命令?

JSB只需在Javascript和C++ cocos2d-x版本之间映射类、方法、标识符等等。

我不知道它是否将Javascript编译成本机代码。

的要点:

cocos2d-js在Javascript中提供了一个编程接口(API),无论您是通过cocos2d-html 5在浏览器中运行它,还是通过cocos2d-x在其他(移动)平台上运行它,都会产生相同的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26611613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档