摘要: Cocos2d-X是一个开源的移动2D游戏框架,MIT许可证下发布的。这是一个C + +cocos2d-iPhone项目的版本。cocos2d-X发展的重点是围绕cocos2d跨平台。即其实现一次编码,再各平台分别编译后即可运行,不许为跨平台修改大量代码,不需要在一直方面花费很多时间和人力,目前cocos2d-x引擎已经可以跨以下平台:● iOS● Android● Windows XP / Windows 7● Meego● BlackBerry● Bada● Marmalade (原名airplay, 一个c++跨平台框架)其除跨平台外,相对其它的移动游戏引擎还有以下特点● 易用性:易于学 阅读全文
posted @ 2012-06-27 22:06 日月之明 阅读(7594) 评论(0) 推荐(2) 编辑
摘要: 1、抽象工厂模式(abstract factory)提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。当需要产生产品对象家族时使用此模式。2、工厂方法模式(factory method)定义一个用于创建对象的接口,让子类决定将哪一个类实例化,即将一个类的实例延迟到其子类。延迟子类的实例化。3、创建者模式(builder)见一个负责对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。需要创建一个组合对象时使用。4、原型模式(protype)用原型实例指定出阿健对象的种类并且通过拷贝这个原型来创建新的对象。被实例化的类需要变化时使用此模式。5、单件模式(singlet 阅读全文
posted @ 2010-11-14 22:46 日月之明 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 在cocos2d-x中有两种坐标系,分别是屏幕坐标系和opengl坐标系。 屏幕坐标系:x轴朝右,y轴朝下。默认原点在左上角,如下图: 这个是一般的图形系统使用的坐标,也是windows系统的默认坐标体系。但由于cocos2d-x引擎使用的是opengles进行渲染的,所以其默认是用的OpenGL坐标体系,如下图: 在opengl坐标体系中有两个非常重要的参数,即锚点和位置。 锚点作为位置的参考点,锚点在设置某一个物件(如CCSprite,CCLayer)的位置时,其参照位置,数据为(0.0-1.0)之间,默认是(0.5,0.5),也就是说其默认参照位置是该物件的中心。如果把某一... 阅读全文
posted @ 2012-07-01 21:55 日月之明 阅读(9692) 评论(2) 推荐(3) 编辑
摘要: Cocos2d-x的目录结构如下:目录的具体结构介绍如下:Box2D:物理引擎Box2D的相关源文件Chipmunk:物理引擎chipmunk的相关源文件cocos2dx:cocos2d-x引擎的核心部分,存放了引擎的大部分源文件CocosDenshion:声音模块相关源文件Debug.win32:在Windows 上调试输出目录Doxygen:生成doxygen项目文档时需要的配置文件HelloLua:在游戏中使用lua的示例代码HelloWorld:测试代码helloworldJs:cocos2d-x js脚本支持源码目录Licenses:许可文件存放目录Lua:脚本语言lua支持的相关源 阅读全文
posted @ 2012-07-01 21:46 日月之明 阅读(10578) 评论(0) 推荐(0) 编辑
摘要: 类继承图:主要函数:virtual CCObject * copyWithZone (CCZone *pZone)//克隆对象virtual bool isDone (void)//动作是否已经换成virtual void startWithTarget (CCNode *pTarget)//设置动作关联的对象,动作运行前调用该方法virtual void stop (void)//停止动作virtual void step (ccTime dt)//设置动作的间隔时间CCNode * getTarget (void)//获取动作关联的对象void setTarget (CCNode *pTa 阅读全文
posted @ 2012-07-01 21:27 日月之明 阅读(4306) 评论(0) 推荐(0) 编辑
摘要: CCSprite是一副2D图像,CCSprite可以通过图像或者图像中的一个矩形子区域创建 如果它的父节点或者任意继承树上的节点是CCspriteBatchNode则具有下述特性:父节点是CCSpriteBatchNode时具有的特性: 更快的渲染速度,特别时CCSpriteBatchNode有很多子节点的情况下,但有以下限制:A、不支持照相功能(例如:CCOrbitCamera动作不能执行)B、不支持基于网格的动作(例如:CCLens,CCRipple,CCTwirl)C、Alias / Antialias属性属于CCSpriteBatchNode,所以你不能单独设置aliase属性D、渲染 阅读全文
posted @ 2012-07-01 21:25 日月之明 阅读(7856) 评论(1) 推荐(0) 编辑
摘要: 首先是类结构: 可以看到CCNode 几乎是游戏中处理的大部分类的父类,其主要有以下函数:virtual int getZOrder (void) //获取节点的顺序virtual const CCPoint & getPosition (void) //获取节点的位置virtual void setPosition (const CCPoint &var) //设置节点的位置virtual CCArray * getChildren (void) //获取其所有子节点virtual CCCamera * getCamera (void)//获取其对应的摄像机virtual b 阅读全文
posted @ 2012-07-01 21:17 日月之明 阅读(22055) 评论(2) 推荐(2) 编辑
摘要: 类继承图: CCLayer 是CCNode的子类 ,实现了TouchEventsDelegate接口,继承了CCNode所有的特性,并且附加了一些自己的特性,它能够接收iPhone的触摸事件,也能够接收Accelerometer的输入。其主要函数如下:bool init () //初始化函数virtual void onEnter ()//进入时的回调函数virtual void onExit ()//离开时的回调函数virtual void onEnterTransitionDidFinish ()//进入后的回调函数virtual bool ccTouchBegan (CCTouch *p 阅读全文
posted @ 2012-07-01 21:17 日月之明 阅读(2443) 评论(1) 推荐(0) 编辑
摘要: 场景(CCScene)类结构:CCScene主要有以下两个函数:bool init () //初始化函数static CCScene * node (void) //生CCScene作为场景类,为何只有这两个函数而没有其他方法呢,因为目前在CCScene承担的是一个容器的功能,游戏开发时需要渲染的对象反正CCScene里面统一管理,包括创建、销毁和场景切换等,而且从其类的结构图可看出,其直接继承了CCNode类,下章我们会具体介绍CCNode类 阅读全文
posted @ 2012-07-01 21:15 日月之明 阅读(5104) 评论(0) 推荐(0) 编辑
摘要: 在cocos2d-x中,每个节点(CCNode)都需要用到,即当节点发生旋转、缩放和位置变化等时,都需要覆盖CCCamera,然后这个节点通过CCCamera重新渲染。类结构:其主要函数如下:char * description (void) //返回当前摄像机的描述void restore (void) //重置摄像机,使摄像机回到默认位置void locate (void) //按设置的eye坐标放置摄像机void setEyeXYZ (float fEyeX, float fEyeY, float fEyeZ) //设置摄像机eye坐标void setCenterXYZ (float f 阅读全文
posted @ 2012-07-01 21:13 日月之明 阅读(10469) 评论(0) 推荐(1) 编辑
摘要: 在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象Cocos2d-x引擎除了提供了CCDirector,还提供了一个CCDisplayLinkDirector,CCDisplayLinkDirector是一个可以自动刷新的CCDdirector。CCDirector主要函数如下:CCScene * getRunningScene (void) //获取当前运行的场景double getAnimationInterval (void)//获取当前的FPSvirtual void setAnimationInterval (doubl 阅读全文
posted @ 2012-07-01 21:11 日月之明 阅读(15627) 评论(1) 推荐(1) 编辑
摘要: 1.Cocos2d-x 整体描述和传统的游戏引擎一样,cocos2d-x作为一个2d的游戏引擎,其也有以下几大概念组成:导演(CCDiretor):在cocos2d-x引擎中,CCDirector类是整个游戏的组织和控制核心,游戏的运行规则,游戏内的CCScene(场景)、布景(CCLayer)、角色(CCSprite)等的运动,均由CCDirector管理,其在游戏中起着指定游戏规则让游戏内的场景、布景和任务有序的运行。在整个游戏里面,一般只有一个导演,游戏开始和结束时,都需要调用CCDirector的方法完成游戏初始化或销毁工作,其提供了一些场景管理的方法,如runWithScene、Dr 阅读全文
posted @ 2012-07-01 21:09 日月之明 阅读(18480) 评论(4) 推荐(0) 编辑