love in cocos2d-x
文章平均质量分 54
Legendof1991
这个作者很懒,什么都没留下…
展开
-
【爱上cocos2d-x之三】游戏的构成
觉得偶尔e网事把游戏的结构写的太好了,我就直接那个啥了。。。我们以大家熟悉的超级马里奥游戏作为蓝本来描述一下游戏的构成。(1)首先我们需要一个容器来放置游戏元素,每一个关卡都是一个容器,这叫做场景(CCScene)。(2)蓝天白云,各种板砖水管,这些是层(CCLayer),放置在关卡中,通过层的叠加,构成了游戏的主要背景。(3)主角马里奥和各种小怪兽,这些叫做精灵(CCSprite原创 2014-03-27 17:20:07 · 1813 阅读 · 0 评论 -
【爱上cocos2d-x之十五】定时器schedule调用自己的函数
上篇文章中我们介绍了定时器schedule如何调用引擎的函数,这篇文章我们将来介绍怎么调用我们自己的函数。首先,我们新建一个项目为HelloSchedule,打开头文件添加一个函数MutUpdate。class HelloWorld : public cocos2d::CCLayer{public: // Here's a difference. Method 'init'原创 2014-03-27 11:33:32 · 2103 阅读 · 0 评论 -
【爱上cocos2d-x之十七】scheduleOnce定时器只调用一次
发现定时器的功能还真是蛮强大的,但是如果我们现在有一个需求:希望在几秒之后调用一个函数,而不是每个几秒调用这个函数。那么,我们这时可以利用scheduleOnce可以来完成,顾名思义,Once,你懂的。首先,我们新建一个项目为HelloSchedule,打开头文件添加oneUpdate函数class HelloWorld : public cocos2d::CCLayer{pu原创 2014-03-27 11:35:32 · 4724 阅读 · 0 评论 -
【爱上cocos2d-x之十四】每一帧都调用,scheduleUpdate和update
假设我们面临一个需求:每隔一秒钟执行一次函数。不知各位看官会想怎么实现呢?我们可以利用cocos2d-x提供的schedule来解决。我们新建一个项目为HelloSchedule,将HelloWorldScene的init函数的多余代码删除,然后改成如下几行代码:bool HelloWorld::init(){ if ( !CCLayer::init() ) {原创 2014-03-27 11:32:29 · 2998 阅读 · 1 评论 -
【爱上cocos2d-x之十三】数据结构CCString
CCString继承于CCObject,CCObject这个基类主要是为了自动内存管理而创建的。常用方法1. 创建/**使用std::string创建一个字符串,你也可以传递一个c字符串指针, *因为std::string的构造函数可以访问c字符串指针 *@返回的CCString指针式一个自动释放对象, *也就意味着你不需要调用release操作,除非你retain了。原创 2014-03-25 17:23:13 · 2306 阅读 · 0 评论 -
【爱上cocos2d-x之十】动作Action
1. 动作Action概述Actions继承了CCNode的属性,可以让对象进行移动、缩放、旋转等。Actions分为两种,一种为CCIntervalAction actions(延时动作),即动作持续一段时间;另外一种为CCInstantAction actions(瞬时动作),即动作瞬时间发生。例如://将一个精灵的x坐标向右移动20像素,y坐标向上移动30像素,在3秒之内C原创 2014-03-25 17:19:19 · 1856 阅读 · 0 评论 -
【爱上cocos2d-x之八】使用CCSpriteBatchNode优化绘制一批相同的精灵
当我们要加载一批相同的精灵时,如果采用单独绘制的话,代码如下: //创建很多个小精灵 for(int i=0;i<1000;++i) { CCSprite* sprite=CCSprite::create("CloseNormal.png"); sprite->setPosition(ccp(CCRANDOM_0_1()*480,CCRANDOM_0_1()*320));原创 2014-03-24 22:40:36 · 8319 阅读 · 2 评论 -
【爱上cocos2d-x之十一】帧动画加载,从.png和.plist文件
1. 从.png和.plist文件加载帧动画 CCSpriteBatchNode* spritebatch=CCSpriteBatchNode::create("animations/walk.png"); CCSpriteFrameCache* cache=CCSpriteFrameCache::sharedSpriteFrameCache(); cache->addSpriteFram原创 2014-03-25 17:21:26 · 3774 阅读 · 1 评论 -
【爱上cocos2d-x之九】cocos2d-x坐标系与anchorPoint锚点
1. cocos2d-x坐标系UI坐标系iOS / Android / Windows SDK中的通用UI坐标系:起点坐标(x=0,y=0)位于左上角,X轴坐标从左向右增加,Y轴坐标由上向下增加。OpenGL和Cocos2d坐标系Cocos2d-x/-html5/-iphone使用的坐标系和OpenGL的坐标系一样。起点坐标(x=0,y=0)位于左下角,X轴坐标从左原创 2014-03-25 08:50:15 · 2754 阅读 · 2 评论 -
【爱上cocos2d-x之十二】数据结构CCArray
cocos2d-x的CCArray是数据结构类,对游戏存储数组型数据做了优化。它模拟了苹果NSMutableArray的功能,但是执行效率更高。1. API(1)创建//创建一个数组arraystatic CCArray* create();//使用一些对象创建数组static CCArray* create(CCObject* pObject,...);//使用一个对象创建数原创 2014-03-25 17:22:00 · 2013 阅读 · 0 评论 -
【爱上cocos2d-x之七】精灵CCSprite
精灵CCSprite可以运动、旋转、缩放和执行动画。CCSprite是精灵的实现类,可以拥有其他的精灵作为子节点。当父节点的精灵改变,子节点也随之改变。因为精灵是CCNode的子类,可以手动或者使用CCActions改变精灵。原创 2014-03-24 19:22:46 · 1911 阅读 · 1 评论 -
【爱上cocos2d-x之一】Cocos2d-x + VS2010 + Python 环境配置
配置过程:1. Cocos2d-x 2.2.1将下载到的Cocos2d-x解压。这里建议解压到没有空格的路径,因为空格很容易引起一些错误。下图是我的解压目录:这时候就要开始安装了,点击此文件夹下的build-win32.bat,接下来就要进行一番漫长的等待了。安装完成后,会自动弹出cocos2d-x的实例项目。2. Python的配置原创 2014-02-28 09:19:03 · 12163 阅读 · 2 评论 -
【爱上cocos2d-x之六】层CCLayer
CCLayer不仅要作为容器使用,同时也要处理游戏的一些功能。查看CCLayer的源代码:class CC_DLL CCLayer : public CCNode, public CCTouchDelegate, public CCAccelerometerDelegate, public CCKeypadDelegate可以看到,CCLayer不仅继承CCNode,还集成了CCTou原创 2014-03-24 19:22:11 · 1706 阅读 · 0 评论 -
【爱上cocos2d-x之五】场景CCScene
场景类(CCScene)作为一个容器来使用。在你的游戏中,可以包含多个场景,但是在某一时间段内,只能有一个场景是有效的。举个简单的例子。如下图,游戏中有几个场景:介绍场景(Intro)、菜单场景(menu)、关卡1场景(Level 1)、胜利场景(Win)和失败场景(Game Over),共五个场景。每个场景都是相互分开的功能模块。当介绍场景显示完毕后,就进入菜单场景,如果玩家在关卡1场景中获原创 2014-03-24 19:21:35 · 1901 阅读 · 0 评论 -
【爱上cocos2d-x之四】导演CCDirector
CCDirector(导演类)主要完成以下工作:(1)初始化游戏和销毁游戏(2)管理调度场景(3)调整设置openGL信息(4)获取、设置游戏的相关细节CCDirector是单例对象,负责场景之间的调度。它知道当前哪个场景是活动的,并且允许你通过取代当前场景,或者从场景栈中推进一个新的场景来改变场景。当你向栈中推荐一个新的场景,CCDirector会暂停前一个场景,但是原创 2014-03-24 19:20:48 · 1964 阅读 · 0 评论 -
【爱上cocos2d-x之二】Cocos2d-x架构和目录结构
此系列文章用的是cocos2d-x 2.2.2版本1. cocos2d-x架构cocos2d-x架构如下图,摘自cocos2d-x官网。2. cocos2d-x目录结构解压cocos2d-x压缩包后,可以看到如下目录结构:下面详细介绍cocos2d-x目录结构:(1)cocos2dx:游戏引擎源码。(2)CocosDenshion原创 2014-03-24 19:19:37 · 4069 阅读 · 0 评论 -
【爱上cocos2d-x之十八】Tiled瓦片地图编辑器的基本使用
Tield瓦片地图编辑器不但生成地图简单,还能灵活运用于cocos2d-x游戏引擎。编辑生成之后保存的TMX文件格式,被cocos2d-x支持。Tiled瓦片地图编辑器的下载地址:http://www.mapeditor.org/download.html本篇所使用的是:Tiled 0.9.1 for Windows下载后直接安装就行,安装成功后,运行效果如下:好的,废话不原创 2014-03-27 17:21:12 · 6301 阅读 · 0 评论 -
【爱上cocos2d-x之十六】取消定时器unSchedule
懂得如何创建定时器,当然,我们也要懂得如何取消定时器啦。此文章,建立在前两篇的基础上。(1)取消默认的定时器,只要一句代码 this->unscheduleUpdate();备注:不管我们注册update函数时,用的是一个还是两个参数,在取消时都不需要传递参数,只需传递函数就可以了。(2)取消自定义的定时器 this->unschedule(schedule_sel原创 2014-03-27 11:34:53 · 3647 阅读 · 0 评论