1. 为什么cocos2d-x可以支持多平台?
其实有两个条件,而且必不可少!
a. c++,现在基本上所有的平台都支持C++
b .opengl-es,即opengl的子集,基本上所有的平台也都支持
所以cocos2s-x才可以支持多平台,如果有一个平台不支持c++或opengl-es,那么cocos2d-x也就不支持这个平台。
而现在所谓的html5,游戏引擎,其实只所以可以支持跨平台,原因也很简单,每个平台上面都有浏览器,只要这个浏览器支持html5,那么就可以支持html5游戏,所以实现了跨平台!
2. 游戏引擎主要包含什么?
游戏引擎主要包含:物理引擎,逻辑引擎以及渲染引擎等
a 物理引擎主要完成物理效果的实现,其实就是检测碰撞,然后根据自身的一些属相来产生结果,我们通过得到产生的结果,然后用到我们的精灵来,(其实就是改变精灵的属相,比如位置以及旋转角度,缩放比例等等)
b 逻辑引擎 ,其实这个可以说是我们程序员打交道最多的,通过明确的层次关系,组成我们的游戏架构
c渲染引擎,这个就是通过opengl-es来实现的,其实就是绘制图片,如果想做出来更好的效果,不妨看看学习一下opengl
3.游戏和普通的app的区别
其实很简单,游戏就是app,普通的app,我们一般在用户不进行操作的时候是静止的,因为所有的元素的属相是保持不变的,游戏,则是属相不停地变化,从而形成了动作!
4.cocos2d-x是不是真正意义上的做到了跨平台!
没有,其实根本没有所谓的真正的跨平台,跨平台只是相对的,因为很简单,不同的平台,在获得键盘和触控消息的时候,是不同的,尤其像ios.等封闭的系统,我们想要获得其触控消息,只有一个办法:调用系统的api,所以,所以像这个做原生app跨平台的框架,其必然在各个平台上都会对相应的平台进行api的调用,其方法:肯定就是通过条件编译,来控制了,而html5有天然的跨平台的特性,原因:大部分的浏览器都支持html5.但是反过来如果有个平台我就不支持html5,那么也是不可以的!