摘要: 在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 日月之明 阅读(9697) 评论(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 日月之明 阅读(10585) 评论(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 日月之明 阅读(4308) 评论(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 日月之明 阅读(7862) 评论(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 日月之明 阅读(22059) 评论(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 日月之明 阅读(5107) 评论(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 日月之明 阅读(10480) 评论(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 日月之明 阅读(15634) 评论(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 日月之明 阅读(18485) 评论(4) 推荐(0) 编辑