梦幻DUO的游戏开发之路

“学者们都是很单纯的,如果他们不单纯的话,戏剧般的灵感就不会造访他们了。” ——东野圭吾...

Cocos2dx C++与Lua合并开发的VS配置环境搭建

去官方网站下载一个最新版的Cocos2d-x,运行setup.py来设置好环境变量后(前提你电脑要装好python来运行),然后看文件夹下面的Readme.md,里面会教你如何新建项目,如:cocos new MyGame -l lua这样就创建了一个Lua项目。编译完成后,可以进入打开新建项目里...

2016-07-27 16:00:45

阅读数:1223

评论数:0

Cocos2d-x 事件分发机制

新事件分发机制新事件分发机制:在新的事件分发机制中,只需通过创建一个事件监听器-用来实现各种触发后的逻辑,然后添加到事件分发器_eventDispatcher,所有事件监听器有这个分发器统一管理,即可完成事件响应。事件监听器有以下几种: 触摸事件 (EventListenerTouch) 键盘响应...

2016-07-14 15:46:57

阅读数:282

评论数:0

Cocos2d-x 如何优化内存使用

认识瓶颈寻找方案可用一些代码获取游戏内存使用的其他信息,如下所示: CCTextureCache::sharedTextureCache()->dumpCachedTextureInfo();调用这个代码后,游戏便会在DEBUG模式运行,这时你会在Xcode控制台窗口看到一些格式工整的...

2016-07-14 15:13:52

阅读数:396

评论数:0

Cocos2d-x 纹理缓存(Texture Cache)

简介纹理缓存是将纹理缓存起来方便之后的绘制工作。每一个缓存的图像的大小,颜色和区域范围都是可以被修改的。这些信息都是存储在内存中的,不用在每一次绘制的时候都发送给GPU。CCTextureCache当你创建一个精灵,你一般会使用CCSprite::create(pszFileName)。假如你去看...

2016-07-14 15:08:39

阅读数:410

评论数:0

Cocos2d-x 内存管理——引用计数

引用计数引用计数是c/c++项目中一种古老的内存管理方式。当我8年前在研究一款名叫TCPMP的开源项目的时候,引用计数就已经有了。在Cocos2d-x中克隆了一套CCAutoreleasePool。CCAutoreleasePool有两点需要注意: CCAutoreleasePool不能被开发者自...

2016-07-14 13:41:11

阅读数:385

评论数:0

Cocos2d-x 声音和音效

使用音效引擎我们可以使用Cocos2d-x自带的CocosDension库来使用声音引擎。CocosDesion实现了简单易用的SimpleAudioEngine类,为了使用它,我们只需引入他的头文件即可:#include "SimpleAudioEngine.h"由于Simp...

2016-07-14 13:31:05

阅读数:386

评论数:0

Cocos2d-x 3.0数据结构——cocos2d::Value

cocos2d::Value是许多基本类型(int,float,double,bool,unsigned char,char*和std::string)还有std::vector<Value>, std::unordered_map<std::string,Value>和s...

2016-07-14 08:15:07

阅读数:315

评论数:0

Cocos2d-x 3.0数据结构——cocos2d::Map

cocos2d::Map<K,V>是使用std::unordered_map作为底层结构的关联式容器。 而std::unordered_map是一个存储键值对的关联式容器,它可以通过它们的键快速检索对应的值。 使用unordered_map,键通常是唯一的,而值则与这个键对应。模版参数...

2016-07-14 08:01:06

阅读数:418

评论数:0

Cocos2d-x 3.0数据结构——cocos2d::Vector

cocos2d::Vector<T>是一个封装好的能动态增长顺序访问的容器。 cocos2d::Vector<T>中的元素是按序存取的,它的低层实现数据结构是标准模版库中的标准顺序容器std::vector。 在Cocos2d-x v3.0 beta之前,使用的是另外一个顺...

2016-07-14 07:50:14

阅读数:466

评论数:0

Cocos2d-x 图像渲染和动画——裁剪(ClippingNode)

概述ClippingNode(裁剪节点)可以用来对节点进行裁剪,可以根据一个模板切割图片的节点,生成任何形状的节点显示。ClippingNode是Node的子类,可以像普通节点一样放入Layer,Scene,Node中。ClippingNode 常用方法 create可以使用static Clip...

2016-07-14 07:27:47

阅读数:369

评论数:0

Cocos2d-x 图像渲染和动画——粒子系统

简介粒子系统是指计算机图形学中模拟特定现象的技术,它在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势,为我们实现一些真实自然而又带有随机性的特效(如爆炸、烟花、水流)提供了方便。Cocos2d-x引擎中就为我们提供了强大的粒子系统,以下是粒子系统的继承关系图: 粒子属性主要属性: _dur...

2016-07-14 07:09:22

阅读数:1004

评论数:0

Cocos2d-x 图像渲染和动画——场景转换(Transitions)

Cocos2d-x最爽的一个特性之一就是提供了在两个不同场景之间直接转换的能力。例如:淡入淡出,放大缩小,旋转,跳动等。从技术上来说,一个场景转换就是在展示并控制一个新场景之前执行一个转换效果。场景之间通过TransitionScene系列类来实现过渡跳转的效果。TransitionScene继承...

2016-07-13 22:21:15

阅读数:279

评论数:0

Cocos2d-x 图像渲染和动画——序列帧动画

创建方法手动添加序列帧到Animation类在创建Animation实例时会用到以下几个接口: addSpriteFrame,添加精灵帧到Animation实例 setDelayUnits,设置每一帧持续时间,以秒为单位 setRestoreOriginalFrame,设置是否在动画播放结束后恢复...

2016-07-13 22:04:42

阅读数:1020

评论数:0

Cocos2d-x 图像渲染和动画——动作

原理介绍动作类(Action)是所有动作的基类,它创建的一个对象代表一个动作。动作作用于Node,因此每个动作都需要由Node对象执行。动作类(Action)作为基类,实际上是一个接口,动作类的大多数实现类都派生于有限时间动作类(FiniteTimeAction)。在实际开发中我们通常用到两类动作...

2016-07-13 21:50:26

阅读数:462

评论数:0

Cocos2d-x 图像渲染和动画——3.0坐标系详解

Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系。笛卡尔坐标系笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右手系。屏幕坐标系和Cocos2d坐标系标准屏幕坐标系使用和OpenGL不同的坐标系,而Cocos2d则使用和OpenGL相...

2016-07-13 21:17:34

阅读数:400

评论数:0

Cocos2d-x 基础概念——调度器(scheduler)

继承关系原理介绍Cocos2d-x调度器为游戏提供定时事件和定时调用服务。所有Node对象都知道如何调度和取消调度事件,使用调度器有几个好处: 每当Node不再可见或已从场景中移除时,调度器会停止。 Cocos2d-x暂停时,调度器也会停止。当Cocos2d-x重新开始时,调度器也会自动继续启动。...

2016-07-13 20:38:09

阅读数:515

评论数:0

Cocos2d-x 基础概念——导演、场景、层、精灵

在Cocos2d-x-3.x引擎中,采用节点树形结构来管理游戏对象,一个游戏可以划分为不同的场景,一个场景又可以分为不同的层,一个层又可以拥有任意个可见的游戏节点(即对象,游戏中基本上所有的类都派生于节点类Node)。可以执行Action来修改游戏节点的属性,使其移动、旋转、放大、缩小等等。每一个...

2016-07-13 20:26:32

阅读数:614

评论数:0

Cocos2d-x 综述——API 风格

两阶段构造器及静态create()函数Cocos采用两阶段构造器是因为C++的构造函数没有返回值,我们想要知道一个对象是否正确构造,就添加一个create()函数,使用该函数来进行构造调用。 例如,我们经常会看到:auto layer = HelloWorld::create();而不是直接去调...

2016-07-13 19:58:12

阅读数:398

评论数:0

Cocos2d-x Lua基本操作

1.Lua库引用 目录添加: lua lua\luajit\include lib添加: lua51.lib; 2.打开Lua库 示例:lua_State* pL = lua_open(); luaopen_base(pL); luaopen_math(pL); luaopen...

2016-07-09 22:32:37

阅读数:521

评论数:0

Cocos2d-x Json读写

一、Json读取 1. 读文件字符串std::string data = FileUtils::getInstance()->getStringFromFile("test2.json");2.解析字符串Json::Reader reader; Json::Value ...

2016-07-09 11:50:34

阅读数:701

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭