随笔分类 -  Cocos2d-x引擎

摘要:在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 日月之明 阅读(9693) 评论(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 日月之明 阅读(10580) 评论(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 日月之明 阅读(4307) 评论(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 日月之明 阅读(10478) 评论(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 日月之明 阅读(15629) 评论(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 日月之明 阅读(18483) 评论(4) 推荐(0) 编辑
摘要:安装好,相应的环境之后,我们便可以开始创建cocos2d-x 的android 工程了进入cocs2d-x目录,用文本编辑器打开create-android-project.bat(在windows 7上如果正常双击,可能创建时有些文件的权限不足,导致创建工程不成,可以在此文件的第一行加上cd /d %~dp0,然后右键以管理员身份运行)找到以下几个定义:@echo off:: This script is used to create an android project.:: You should modify _ANDROIDTOOLS _CYGBIN _NDKROOT to work 阅读全文
posted @ 2012-06-27 22:51 日月之明 阅读(54679) 评论(53) 推荐(3) 编辑
摘要:、android平台工程创建1、android SDK+NDK安装1)、安装java jdk(如果已经安装了,可以不用此步骤)进入:http://www.oracle.com/technetwork/java/javase/downloads/index.html 或者直接点击下载。如下图选择JDK DOWNLOAD(android 开发无需JRE)如果是32位windows 7选择Windows x86 ,64位windows 7选择Windows x64。安装后,配置环境变量:新建环境变量:JAVA_HOME 值为:D:\Program Files\Java\jdk1.7.0新建环境变量: 阅读全文
posted @ 2012-06-27 22:43 日月之明 阅读(61536) 评论(10) 推荐(6) 编辑
摘要:1、引擎代码的下载官方版本地址为:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download目前最新版本是cocos2d-2.0-rc0a-x-2.0官方代码库:https://github.com/cocos2d/cocos2d-x/(想尝鲜或想把自己代码提交给cocos2d-x的用户,还可以从https://github.com/cocos2d/cocos2d-x.git fork一个工作流,来进行自己的创造性活动,不过都是用git工具来操作的哦)2、各平台环境搭建在此以cocos2d-2.0-rc0a-x-2.0版本为例,下载完成后 阅读全文
posted @ 2012-06-27 22:28 日月之明 阅读(18480) 评论(5) 推荐(1) 编辑
摘要: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 日月之明 阅读(7599) 评论(0) 推荐(2) 编辑