11 2014 档案
摘要:[续] cocos2d-x游戏引擎核心之八——多线程 这里介绍cocos2d-x的一种消息/数据传递方式,内置的观察者模式,也称消息通知中心,CCNotificationCenter。 虽然引擎没有为我们封装线程类,但还是提供了一些组件,辅助我们进行并发编程。除了上面提到的异步加载图片,引擎还提供了
阅读全文
摘要:一、建立基本的http通信并得到返回信息 1、创建cocos2dx工程 2、项目引用外部库 如果要使用cocos2dx的CCHttpClient来进行网络访问,则需要引入cocos2dx的相关库,详细步骤如下: 右键单击项目->属性->c/c++->常规,在右边的附件包含目录中添加cocos2dx的
阅读全文
摘要:一、cocos2d-x跨平台 cocos2d-x到底是怎样实现跨平台的呢?这里以Win32和Android为例。 1. 跨平台项目目录结构 先看一下一个项目创建后的目录结构吧!这还是以HelloCpp为例。 从左边目录可以看到,Classes和Resource已经平台无关了,而Classes中包含了
阅读全文
摘要:一、多线程原理 (1)单线程的尴尬 重新回顾下 Cocos2d-x 的并行机制。引擎内部实现了一个庞大的主循环,在每帧之间更新各个精灵的状态、执行动作、调用定时函数等,这些操作之间可以保证严格独立,互不干扰。不得不说,这是一个非常巧妙的机制,它用一个线程就实现了并发,尤其是将连续的动作变化切割为离散
阅读全文
摘要:一、XML与JSON XML 和 JSON 都是当下流行的数据存储格式,它们的共同特点就是数据明文,十分易于阅读。XML 源自于 SGML,是一种标记性数据描述语言,而 JSON 则是一种轻量级数据交换格式,比 XML 更为简洁。鉴于 C++对 XML 的支持更为完善,Cocos2d-x选择了 XM
阅读全文
摘要:一、OpenGL基础 游戏引擎是对底层绘图接口的包装,Cocos2d-x 也一样,它是对不同平台下 OpenGL 的包装。OpenGL 全称为 Open Graphics Library,是一个开放的、跨平台的高性能图形接口。OpenGL ES 则是 OpenGL 在移动设备上的衍生版本,具备与 O
阅读全文