自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

三十画生 一个北漂的人

专注移动游戏开发

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 【爱上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 6136

原创 【爱上cocos2d-x之三】游戏的构成

觉得偶尔e网事把游戏的结构写的太好了,我就直接那个啥了。。。我们以大家熟悉的超级马里奥游戏作为蓝本来描述一下游戏的构成。(1)首先我们需要一个容器来放置游戏元素,每一个关卡都是一个容器,这叫做场景(CCScene)。(2)蓝天白云,各种板砖水管,这些是层(CCLayer),放置在关卡中,通过层的叠加,构成了游戏的主要背景。(3)主角马里奥和各种小怪兽,这些叫做精灵(CCSprite

2014-03-27 17:20:07 1790

原创 【爱上cocos2d-x之十七】scheduleOnce定时器只调用一次

发现定时器的功能还真是蛮强大的,但是如果我们现在有一个需求:希望在几秒之后调用一个函数,而不是每个几秒调用这个函数。那么,我们这时可以利用scheduleOnce可以来完成,顾名思义,Once,你懂的。首先,我们新建一个项目为HelloSchedule,打开头文件添加oneUpdate函数class HelloWorld : public cocos2d::CCLayer{pu

2014-03-27 11:35:32 4688

原创 【爱上cocos2d-x之十六】取消定时器unSchedule

懂得如何创建定时器,当然,我们也要懂得如何取消定时器啦。此文章,建立在前两篇的基础上。(1)取消默认的定时器,只要一句代码 this->unscheduleUpdate();备注:不管我们注册update函数时,用的是一个还是两个参数,在取消时都不需要传递参数,只需传递函数就可以了。(2)取消自定义的定时器 this->unschedule(schedule_sel

2014-03-27 11:34:53 3579

原创 【爱上cocos2d-x之十五】定时器schedule调用自己的函数

上篇文章中我们介绍了定时器schedule如何调用引擎的函数,这篇文章我们将来介绍怎么调用我们自己的函数。首先,我们新建一个项目为HelloSchedule,打开头文件添加一个函数MutUpdate。class HelloWorld : public cocos2d::CCLayer{public: // Here's a difference. Method 'init'

2014-03-27 11:33:32 2081

原创 【爱上cocos2d-x之十四】每一帧都调用,scheduleUpdate和update

假设我们面临一个需求:每隔一秒钟执行一次函数。不知各位看官会想怎么实现呢?我们可以利用cocos2d-x提供的schedule来解决。我们新建一个项目为HelloSchedule,将HelloWorldScene的init函数的多余代码删除,然后改成如下几行代码:bool HelloWorld::init(){ if ( !CCLayer::init() ) {

2014-03-27 11:32:29 2978 1

原创 【爱上cocos2d-x之十三】数据结构CCString

CCString继承于CCObject,CCObject这个基类主要是为了自动内存管理而创建的。常用方法1. 创建/**使用std::string创建一个字符串,你也可以传递一个c字符串指针, *因为std::string的构造函数可以访问c字符串指针 *@返回的CCString指针式一个自动释放对象, *也就意味着你不需要调用release操作,除非你retain了。

2014-03-25 17:23:13 2285

原创 【爱上cocos2d-x之十二】数据结构CCArray

cocos2d-x的CCArray是数据结构类,对游戏存储数组型数据做了优化。它模拟了苹果NSMutableArray的功能,但是执行效率更高。1. API(1)创建//创建一个数组arraystatic CCArray* create();//使用一些对象创建数组static CCArray* create(CCObject* pObject,...);//使用一个对象创建数

2014-03-25 17:22:00 1968

原创 【爱上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 3740 1

原创 【爱上cocos2d-x之十】动作Action

1. 动作Action概述Actions继承了CCNode的属性,可以让对象进行移动、缩放、旋转等。Actions分为两种,一种为CCIntervalAction actions(延时动作),即动作持续一段时间;另外一种为CCInstantAction actions(瞬时动作),即动作瞬时间发生。例如://将一个精灵的x坐标向右移动20像素,y坐标向上移动30像素,在3秒之内C

2014-03-25 17:19:19 1833

原创 【爱上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 2724 2

原创 【爱上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 8253 2

原创 【爱上cocos2d-x之七】精灵CCSprite

精灵CCSprite可以运动、旋转、缩放和执行动画。CCSprite是精灵的实现类,可以拥有其他的精灵作为子节点。当父节点的精灵改变,子节点也随之改变。因为精灵是CCNode的子类,可以手动或者使用CCActions改变精灵。

2014-03-24 19:22:46 1869 1

原创 【爱上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 1687

原创 【爱上cocos2d-x之五】场景CCScene

场景类(CCScene)作为一个容器来使用。在你的游戏中,可以包含多个场景,但是在某一时间段内,只能有一个场景是有效的。举个简单的例子。如下图,游戏中有几个场景:介绍场景(Intro)、菜单场景(menu)、关卡1场景(Level 1)、胜利场景(Win)和失败场景(Game Over),共五个场景。每个场景都是相互分开的功能模块。当介绍场景显示完毕后,就进入菜单场景,如果玩家在关卡1场景中获

2014-03-24 19:21:35 1879

原创 【爱上cocos2d-x之四】导演CCDirector

CCDirector(导演类)主要完成以下工作:(1)初始化游戏和销毁游戏(2)管理调度场景(3)调整设置openGL信息(4)获取、设置游戏的相关细节CCDirector是单例对象,负责场景之间的调度。它知道当前哪个场景是活动的,并且允许你通过取代当前场景,或者从场景栈中推进一个新的场景来改变场景。当你向栈中推荐一个新的场景,CCDirector会暂停前一个场景,但是

2014-03-24 19:20:48 1915

原创 【爱上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 4014

原创 微信经典飞机大战之五:触摸事件及其优先级

这节我们将阐述飞机的触摸事件及其优先级。整个游戏的触摸事件处理,放在GameLayer中。1.CCStandardTouch和CCTargetedTouch因为GameLayer继承于CCLayer,那么我们先来看一下CCLayer的声明:class CC_DLL CCLayer : public CCNode, public CCTouchDelegate, public CCAcc

2014-03-01 23:00:04 1964 2

原创 微信经典飞机大战之四:子弹层的完全解析

飞机发射子弹在子弹层需要处理以下几个方面:1.子弹的渲染效果2.子弹的初始位置和飞行效果3.子弹的管理和回收4.子弹层提供的其他接口这节,我们就从这四个方面来完全解析子弹层。1.子弹的渲染效果子弹的添加和渲染,我们采用CCSpriteBatchNode,因为批次渲染只要1次就可以完成了。bool BulletLayer::init(){ bool bRe

2014-03-01 20:57:45 2858

别踩白块儿 源码

此代码为别踩白块儿源码,采用cocos2d-x-3.0制作。详细文章,可以参考:http://blog.csdn.net/column/details/notouchwhiteblock.html 多谢支持

2014-05-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除