cocos2d-x,cocos2dx lua

http://www.itjxue.com  2023-01-22 07:37  来源:未知  点击次数: 

cocos2d-x是什么意思

cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,使用 C++ 开发,基于OpenGL ES,基于 cocos2d-iphone,支持 WOPhone, iOS 4.1, Android 2.1 and higher, WindowsXP Windows7,windows phone 8.[1]

Cocos2d-X是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C++ cocos2d-iPhone项目的版本。cocos2d-X发展的重点是围绕cocos2d跨平台。cocos2d-X提供的框架外,手机游戏,可以写在C+ +或者Lua中,使用API是cocos2d-iPhone完全兼容。cocos2d-X项目可以很容易地建立和运行IOS,Android的三星Bada,黑莓表操作系统和更多。cocos2d-X还支持Windows和Linux,因此,我们可以调试的源代码很容易写在桌面操作系统的编辑。

Cocos2d-x 精灵CCSprite

精灵就是将图形资源加载到内存中,并根据游戏需要将其显示到屏幕中的工具, 继承自 CCNode , CCSprite 除了节点的功能外,还封装了一张图片,在游戏中一个 2D 图形就是一个精灵类的对象。还有一点我们需要注意,就是 cocos2d 是用 3d 的方式绘制 2d 图形的, 精灵绘制图像用的是 openGL ES (移动平台用的 3d 引擎, android 用的也是它),因此图片在内存中 实际上是以 Texture ( 贴图)的形式存在的 。

精灵相关类的关系图

CCSpriteBatchNode 作用是优化精灵,提高精灵的绘制效率,精灵数量越多,效果越明显。它的工作原理是:将所有该对象的子节点(只能是精灵)用 openGL 的渲染方法一次性绘制,这样可以省去多次 open-close 的时间,作为 CCSpriteBatchNode 对象子节点的精灵不能用自己的 Texture 绘制,而是用 CCSpriteBatchNode 对象的 Texture 统一绘制,精灵只是提供坐标、旋转角度等信息,这就是它只需要 open-close 一次的原因,但也正因为如此,导致批处理节点的所有子节点都必须和它用同一套 Texture ,即 CCSpriteBatchNode 对象绘制出的图形都是一样的,这点需要格外注意。 CCSpriteBatchNode 的用法和普通精灵没什么两样,都可以设置 Texture ,也都是用 Texture 来绘制,只要通过 addChild 方法成为其子节点的精灵,都会得到它的优化,但是 CCSpriteBatchNode 只能添加精灵为子节点。

可以把它看成一个纹理(即图片加载入内存后供 CPU 和 GPU 操作的贴图对象。),它是 cocos2d-x 渲染图形的重要参数,用来贴图,因为 cocos2d-x 使用 opengl es 绘制 2d 图形的,它的尺寸是 2 的 n 次方。一般通过以下方式获得:

该类的本质是一个内存池,用来缓存游戏中用到的 CCTexture2D 对象,是个单例。一旦纹理加载完成,下次使用时可使用它返回之前加载的纹理,从而减少对 GPU 和 CPU 内存的占用。

它内部有一个字典 CCMutableDictionary m_pTextures , key 为图片的名称,值是 CCTexture2D 。当调用它的 addImage 函数添加图片时,会先根据图片名称去内存中查找是否已存在,如果存在,则将对象返回,如果不存在,则会生成一个,将其存入池中并返回,这样同样的 Texture 在池中最多只会有一份,达到节约空间的目的。

这个类的最大作用就是作为 Texture 的载体,将图形数据传递给精灵,同时它还有 offset 、 rotated 等一系列参数,用来存储 Plist 的数据。( plist 是一种数据存储格式,有专门的 API 可以将其读取并保存到内存中,但这里说的是一种动画编辑器生成的、基于 plist 格式保存的数据,就是说 cocos2d 支持这种动画编辑器,可以解析它的数据)使用 Frame 机制构建精灵,还可以支持精灵的动画效果,因为精灵除了做位移或旋转等操作,还可能实时地改变自身显示的图形。 cocos2d 用 CCAnimation 保存一个 Frame 序列,然后用 CCAnimate 这个行为类根据序列定时切换精灵的当前帧。

SpriteFrameCache 管理帧的内存池,主要服务于多张碎图合并出来的纹理图片。这种纹理在一张大图中包含了多张小图,直接通过 TextureCache 引用会有诸多不便,因而衍生出来精灵框帧的处理方式,即把截取好的纹理信息保存在一个精灵框帧内,精灵通过切换不同的框帧来显示出不同的图案。

SpriteFrameCache 的常用接口和 TextureCache 类似,唯一需要注意的是添加精灵帧的配套文件一个 plist 文件和一张大的纹理图

cocos2dx 接电话后返回游戏声音没有

第一、我们双击电脑右下角的音量图标,打开音量控制,点选项,选择属性--播放,在下拉框里的麦克风勾上,再在麦克风一栏里把音量拉到最上方,并把下面静音的勾去了。

第二、同样方法打开音量控制,点选项,选择属性--录音,在下拉框里的麦克风勾上,再在麦克风一栏里把音量拉到最上方(下面不选择麦克风优先也可以)。

第三、打开控制面板,双击声音和音频设备,选择语声选项卡,点测试硬件,这段时间你可以根据提示来操作,同时不要忘记对着自己的麦克风说话,如果能正确完成,说明你的硬件没问题。

引擎介绍

Cocos2d-x是MIT许可证下发布的开源游戏引擎,游戏开发快速、简易、功能强大。2015年2月,触控科技正式推出了游戏开发一站式解决方案cocos,将Cocos 2d-x、Cocos Studio、Cocos Code IDE等框架及工具整合在一起。

Cocos2d-x核心优势在于允许开发人员利用C++、Lua及Javascript来进行跨平台部署,覆盖平台包括iOS、Android、Windows Phone、Windows, Mac OSX 3及Tizen等等,省事省力省成本。

什么是Cocos2d-x

ocos2d-x是一个开源的移动2D游戏框架,是cocos2d的升级版,MIT许可证下发布的。这是一个C++ Cocos2d-iPhone项目的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的框架。手机游戏,可以写在C++或者Lua中,使用API是Cocos2d-iPhone完全兼容。Cocos2d-x项目可以很容易地建立和运行在iOS,Android,黑莓Blackberry等操作系统中。Cocos2d-x还支持Windows、Mac和Linux等桌面操作系统,因此,开发者编写的源代码很容易在桌面操作系统中编辑和调试。17xuee就有很多cocos的教程的

(责任编辑:IT教学网)

更多

推荐程序员考试文章