摘要: 建造者模式定义一个具体的物体,是各种属性的集合。要创建该物体时,可以构建一个构造器,该构造器包含特定的构造方式,但是只提供一个接口,具体构造细节放在派生类中实现。Builder.h内容 1 #ifndef Builder_H_H 2 #define Builder_H_H 3 4 #inc... 阅读全文
posted @ 2014-09-16 21:06 丛林小阁楼 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 模板模式特点:提取相同的特性放在基类中,而将不同的特性作为一个借口抽象出来,放到派生类中进行具体实现。Template.h内容 1 #ifndef Template_H_H 2 #define Template_H_H 3 4 #include 5 #include 6 using names... 阅读全文
posted @ 2014-09-16 20:02 丛林小阁楼 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 原型模式主要指通过基类的指针能够动态创建出当前实际类型的实例,可以快速复制出当前的一个副本。Prototype.h内容 1 #ifndef Prototype_H_H 2 #define Prototype_H_H 3 4 #include 5 using namespace std; 6 7... 阅读全文
posted @ 2014-09-16 19:32 丛林小阁楼 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 观察这模式中,有一个观察者监听一个事件,当事件发生时,向所有被通知者发送相应的消息和命令。例如,秘书作为观察者,监听老板的动作。当老板回来时,向看电影、睡觉的员工发送消息,让他们停止并开始工作。Observation.h内容 1 #ifndef Observation_H_H 2 #define O... 阅读全文
posted @ 2014-09-16 18:34 丛林小阁楼 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 当物体有几种不同的属性时,这时类的继承就会变的多样。例如,一款手机按类型可分为功能机和智能机,按颜色可分为黑色、白色、红色等,按品牌可分为苹果、三星、小米等。当属性越多,则需要创建的类就更多,使用桥接模式能够大大降低问题的复杂性,并且能够极大程度降低耦合。示例代码:Bridge.h内容 1 #ifn... 阅读全文
posted @ 2014-09-16 12:58 丛林小阁楼 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 单例模式是一个比较简单的设计模式,只产生一个具体的对象,一般用于全局变量,保证整个系统所使用的变量是唯一的。单例模式中,一般将构造函数和析构函数都设置为私有的,获取和释放时采用静态函数实现。具体实例:SingleInstance.h内容 1 #ifndef SingleInstance_H_H 2 ... 阅读全文
posted @ 2014-09-16 11:41 丛林小阁楼 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 工厂模式是针对不同的类型创建不同的对象,当所需要的对象没有变,而只是对它们进行的操作和算法不同时,可使用策略模式。策略模式创建不同的算法类,并返回一个基类算法对象的指针,并对它进行相关的计算或操作。实例代码Strategy.h内容 1 #ifndef Strategy_H_H 2 #define S... 阅读全文
posted @ 2014-09-16 11:18 丛林小阁楼 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂通过一个工厂产生各种不同的实际对象,并返回基类的指针,通过基类的指针来统一对对象进行操作,增强了其灵活性,降低了耦合,便于后续更新和维护。实例代码:AbstractFactory.h内容 1 #ifndef AbstractFactory_H_H 2 #define AbstractFact... 阅读全文
posted @ 2014-09-16 10:58 丛林小阁楼 阅读(157) 评论(0) 推荐(0) 编辑
摘要: cocos2d-x中封装CCMenuItem等相关按钮,但是有些时候需要自己封装按钮,这样能够更加灵活的实现对应功能。自定义Button,需要重写OnEnter()和onExit()函数,并在对应函数中添加注册和取消注册。BaseButton.h内容 1 #ifndef BaseButton_H_H... 阅读全文
posted @ 2014-09-15 22:15 丛林小阁楼 阅读(410) 评论(0) 推荐(0) 编辑
摘要: http://zengrong.net/post/1964.htm 阅读全文
posted @ 2014-09-15 21:53 丛林小阁楼 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 利用CCTransition能够创建出一系列的场景过渡动画,能够使场景切换时更加绚丽丰富。CCTransition派生出很多过渡动画,传入的参数一般包括过渡时间和创建的场景。MyScene.h内容 1 #ifndef MyScene_H_H 2 #define MyScene_H_H 3 4 #i... 阅读全文
posted @ 2014-09-15 20:01 丛林小阁楼 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 重写CCNode的draw函数能够绘制出各种基本图形,如点、直线、多边形、园、贝塞尔曲线等,同时还可以设置绘制的颜色和宽度。MyScene的draw函数 1 void MyScene::draw() 2 { 3 ccDrawColor4B(255, 0, 0, 255); 4 glL... 阅读全文
posted @ 2014-09-14 21:22 丛林小阁楼 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 游戏不同于影音,强交互性是其一大特色,在游戏中主要体现为接受用户的输入并响应。智能手机触摸是其重要的输入方式。在cocos2d-x中,触摸分为单点触摸和多点触摸。单点触摸:主要继承CCTargetedTouchDelegate 实现。多点触摸:主要继承CCStandardTouchDelegate实... 阅读全文
posted @ 2014-09-14 20:41 丛林小阁楼 阅读(237) 评论(0) 推荐(0) 编辑
摘要: CCAction能够使CCNode运动起来,能够呈现出多种多样的动作。这些动作能够改变其运动方向、形状、大小、旋转等。同时,还可利用CCCallFunc、CCCallFuncN、CCCallFuncO、CCCallFuncND等函数实现回调。MyScene.h代码 1 #ifndef MyScene... 阅读全文
posted @ 2014-09-14 20:06 丛林小阁楼 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 这篇算是cocos2d-x入门篇,显示一张图片即可。观察工程中HelloWorld的结构,包含AppDelegate和HelloWorldScene两个类文件,AppDelegate中包含基本的处理,并且创建最初要显示的Scene并运行之。而HelloWorldScene中则做了相关的初始化工作,在... 阅读全文
posted @ 2014-09-14 15:31 丛林小阁楼 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 自己刚开始接触cocos2d-x时,版本已更新至3.2版本。但3.0以上版本需要C++11标准支持,这样的话需要VS版本在2012以上,自己当时不太想更换开发环境。另一方面,3.0版本改动较大,而很多资料的版本一般都是建立在2.0-2.2的版本,综合起来,自己还是选择了cocos2d-x 2.2.4... 阅读全文
posted @ 2014-09-14 14:56 丛林小阁楼 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 对Touch事件的获取与处理可以使用CCLayer, CCMenuItem等,但是如果我们需要一个虚拟按键或者需要对特定精灵进行拖动等等,我们就需要自定义Touch类。自定义Touch事件处理类重要的步骤是:1. 继承CCTargetedTouchDelegate2. 添加addTargetedDe... 阅读全文
posted @ 2014-09-09 20:06 丛林小阁楼 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 程序运行后每达到一帧的时间间隔就会执行一次mainLoopvoid CCDisplayLinkDirector::mainLoop(void){//判断是否需要释放CCDirector,通常游戏结束才会执行这个步骤 if (m_bPurgeDirecotorInNextLoop) { ... 阅读全文
posted @ 2014-09-07 06:08 丛林小阁楼 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 首先CCAction是所有动作的基类,如下图继承关系:那么来看看CCAction的定义:class CC_DLL CCAction : public CCObject {public: CCAction(void); virtual ~CCAction(void); const c... 阅读全文
posted @ 2014-09-07 05:55 丛林小阁楼 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 为了实现触摸事件,CCLayer已经封装好了简单的接口(继承了CCTouchDelegate类)来实现触摸事件的响应。首先,触摸事件有两种:标准触摸代理和目标触摸代理。那么我们先看看如何开启这两种触摸代理。1.标准触摸在层初始化时调用setTouchEnable(true)方法即可实现标准触摸,实现... 阅读全文
posted @ 2014-09-07 05:46 丛林小阁楼 阅读(350) 评论(0) 推荐(0) 编辑