本人对基于web的编程不是很懂。看到cocos2dx有JS版本,本着多学多看的心态。大概了解了一下cocos2dx-js是个什么东东。
网上搜到了这么一个框架图,感觉比较清晰。
可以看到cocos2d-html5底层和cocos2dx framework没有联系,其实这个html5只是通过JS逻辑层(javascript代码)调用浏览器的WebGL对Canvas进行渲染,或是直接对Canvas进行渲染。可能javascriptAPI风格上接近cocos2dx。
cocos2dx-js则更像是cocos2dx的API用javascript封装,其实底层上调用的是cocos2dx framework实现的native程序。那么通过什么解析js语言呢?就是上面的SpiderMonkey和JS-Binding。
----------------------------------------------------------------------------------------------------------------------------------------------------------
下面说说cocos2dx-lua,纯属个人理解,欢迎吐槽!
后面加一个lua,那我们就有必要对这个lua语言了解一下,话说脚本语言那么多,为什么是lua?我个人感觉是这样的:
一、这种语言还不算太冷门
二、可以和C\C++代码集成开发
三、脚本语言,易于开发维护。
大家很快想到,Python也可以调用C\C++呀,那是不是也能用Python试试?!我个人认为可行,以前知道有个Qt-Python,就是这么一个思路。所以小伙伴要加油了,cocos2dx-python说不定很快就出现了。其实我发现很多地方cocos2dx和Qt比较像,比如说有Qt Quick,我也发现有个Cocos2dx Quick。所以呀集众之所长!不管是什么底层都是调用cocos2dx framework,只不过是为了快速开发什么的原因,表现上会不一样。就像汇编语言->C语言->脚本语言。
看看下面这位的理解