- 博客(14)
- 资源 (55)
- 收藏
- 关注
原创 [cocos2dx]基于Cocos2d-x引擎的游戏框架设计
游戏架构与实现目前,很多基于cocos2d-x的代码基本上仅是对引擎功能的使用,完全不能按照游戏项目的标准来参考。作为游戏项目代码,不仅需要实现游戏的诸多功能,还需要从架构层面,从模块设计的角度来思考和设计,使代码具有更好的复用性和拓展性。对于游戏客户端,按照功能模块的区别可分为:引擎封装层模块、游戏数据管理模块、应用程序配置模块、日志记录模块、网络管理模块、消息事件机制模块、输入输出控制
2015-04-27 01:58:34 6947
原创 [C++基础]深拷贝和浅拷贝
普通类型对象的拷贝普通类型对象的拷贝很简单,就是值的复制而已。比如:int _tmain(int argc, _TCHAR* argv[]){ int a=1; int b=a; return 0;}类对象的拷贝类对象的拷贝相比于普通类型的拷贝就复杂多了,它存在着各种成员变量。比如://CopyTest.hclass CCopyTest{public: CCo
2015-04-27 00:55:26 808
原创 [cocos2dx]重要父类——CCObject对象类
CCObjectCCObject.h:#ifndef __CCOBJECT_H__#define __CCOBJECT_H__#include "platform/CCPlatformMacros.h"//Cocos2d命名空间NS_CC_BEGIN//声明以下几种类,在后面会定义相应类的成员变量的指针。以下几个类均是CCObject类的派生类。class CCZone
2015-04-26 12:43:24 2735
原创 [cocos2dx]cocos2dx主要概念
Cocos2dx 中的主要概念包括:应用、导演、场景、图层、精灵、动画、动作。层次关系如下:CCDirector(导演)在cocos2d-x引擎中,CCDirector类是整个游戏的组织和控制核心,游戏的运行规则,游戏内的CCScene(场景)、布景(CCLayer)、角色(CCSprite)等的运动,均由CCDirector管理,其在游戏中起着指定游戏规则让游
2015-04-24 16:39:50 1191
原创 [cocos2dx]cocos2dx介绍
引擎简介Cocos2d-x 的原型是 Cocos2d,一个最早来源于几位 Python 开发者在 PyWeek 竞赛中的作品,目的是封装底层绘图代码,简 化2D 游戏的开发过程,避免每次都"重新发明轮子"。有了Cocos2d,开发者就可以把全部精力集中在游戏开发上,而不必关心绘图的细节。这个 Python 版本的引擎最早发布于2008 年 4 月,并一直保持版本的更新。在 Cocos2d
2015-04-23 22:01:20 2373
原创 [libevent]时间管理
为了支持定时器,Libevent必须和系统时间打交道,这一部分的内容也比较简单,主要涉及到时间的加减辅助函数、时间缓存、时间校正和定时器堆的时间值调整等,主要在头文件evutil.h中。初始化检测Libevent在初始化时会检测系统时间的类型,通过调用函数detect_monotonic()完成,它通过调用clock_gettime()来检测系统是否支持monotonic时钟类型:
2015-04-22 10:09:05 1205
原创 [libevent]支持I/O多路复用技术
Libevent的核心是事件驱动、同步非阻塞,为了达到这一目标,必须采用系统提供的I/O多路复用技术,而这些在Windows、Linux、Unix等不同平台上却各有不同,如何能提供优雅而统一的支持方式,是首要关键的问题。 统一的关键Libevent支持多种I/O多路复用技术的关键就在于结构体eventop,这个结构体前面也曾提到过,它的成员是一系列的函数指针, 定义在event-int
2015-04-21 23:15:52 1851
原创 [cocos2dx]Cocos Code IDE使用教程
环境下载安装java jdk,如果你安装的jdk是32位,那你就下载32位的IDE,如果是64位就下载64位的IDE下载安装Python,最好是2.7.5(32位还是64位根据你系统选择)下载安装vs2012版本及以上下载安装Cocos Code Ide 1.2.0 下载引擎cocos2d-x3.3, cocos2d-x-3.3.zip下载android SDK,adt
2015-04-21 14:44:24 6322
原创 [libevent]集成信号处理和集成定时器事件
上文中提到了libevent中I/O事件和Signal以及Timer事件的集成,本文将分析如何将Signal集成到事件主循环的框架中。 集成策略——使用socket pair上一文已经做了足够多的介绍了,基本方法就是采用“消息机制”。在libevent中这是通过socket pair完成的,下面就来详细分析一下。socket pair就是一个socket对,包含两个socket,一个读so
2015-04-21 00:17:10 963
原创 [cocos2dx]在windows7下搭建Cocos2D-X win32开发环境
Cocos2D-X 是一个开源的2D 移动游戏框架,它的原型是Cocos2D。此框架的目的是简化游戏开发的流程,让开发者能够专注于开发游戏本身。选择Cocos2D-X 的理由Cocos2d-X 的核心点是围绕Cocos2D 跨平台。使用Cocos2D-X 创建的项目可以很容易地运行在iOS、Android、Windows Phone 等移动设备上。Cocos2D-X 还支持Windows、
2015-04-20 16:23:56 3432
原创 [libevent]事件主循环
libevent事件处理的中心部分——事件主循环,根据系统提供的事件多路分发机制执行事件循环,对已注册的就绪事件,调用注册事件的回调函数来处理事件。事件处理主循环libevent的事件主循环主要是通过event_base_loop ()函数完成的,其主要操作如下面的流程图所示,event_base_loop所作的就是持续执行下面的循环。 上图的简单描述就是:校正系统当
2015-04-20 13:25:42 5669
原创 [libevent]event,event_base结构体描述
libevent的核心-eventLibevent是基于事件驱动(event-driven)的,从名字也可以看到event是整个库的核心。event就是Reactor框架中的事件处理程序组件;它提供了函数接口,供Reactor在事件发生时调用,以执行相应的事件处理,通常它会绑定一个有效的句柄。//在event2/event_struct.h中event的结构描述struct event
2015-04-16 23:28:20 4253
原创 [libevent]Reactor反应器设计模式
对象行为类的设计模式,对同步事件分拣和派发。别名Dispatcher(分发器) Reactor模式是处理并发I/O比较常见的一种模式,用于同步I/O,中心思想是将所有要处理的I/O事件注册到一个中心I/O多路复用器上,同时主线程阻塞在多路复用器上;一旦有I/O事件到来或是准备就绪(区别在于多路复用器是边沿触发还是水平触发),多路复用器返回并将相应I/O事件分发到对应的处理器中。Reacto
2015-04-12 01:00:47 3168
原创 [libevent]Libevent介绍与编译
编译libevent1.在此下载,最新的libevent压缩包libevent-2.0.22-stable.tar.gz 。源文件有个问题,evutil.c源码修改这部分。不然使用会失败。#ifdef WIN32#include #include #pragma comment(lib,"ws2_32.lib") #define WIN32_LEAN_AND_MEAN#inclu
2015-04-07 22:32:21 2692
sqlite3API的封装
2013-07-17
远程文件下载--select模式
2013-05-31
Boost1.5.0
2012-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人