摘要: 3.3.1 创建精灵常用的 4 种方式 (当然还有其他方式,只不过 这四种比较常用)//创建精灵常用的 4 种方式 CCSprite* spr1 = CCSprite::create(const char* pszFileName); //作用:通过一张图片生成精灵对象 //参数:图片名称 CCSprite* spr2 = CCSprite::create(const char* pszFileName, const cocos2d::CCRect& rect); //作用:通过一张图片进行指定区域裁剪后,生成精灵对象 //参数 1:图片名称 //参数... 阅读全文
posted @ 2013-11-17 20:04 解放1949 阅读(393) 评论(0) 推荐(0) 编辑
摘要: GOOD:整体和部分可以被一致对待(如WORD中复制一个文字、一段文字、一篇文章都是一样的操作)#ifndef __COMPOSITE_MODEL__#define __COMPOSITE_MODEL__ #include #include #include using namespace std;class Component{public: string m_strName; Component(string strName) { m_strName = strName; } virtual void add(Component* com) = ... 阅读全文
posted @ 2013-11-15 00:27 解放1949 阅读(169) 评论(0) 推荐(0) 编辑
摘要: #ifndef __ABSTRACT_FACTORY_MODEL__#define __ABSTRACT_FACTORY_MODEL__#include #include #include using namespace std;/*GOOD:定义了一个创建一系列相关或相互依赖的接口,而无需指定它们的具体类。用于交换产品系列,如ACCESS->SQL SERVER;产品的具体类名被具体工厂的实现分离*///用户抽象接口class IUser{public: virtual void getUser() = 0; virtual void insertUser() = 0;};//部... 阅读全文
posted @ 2013-11-13 23:50 解放1949 阅读(140) 评论(0) 推荐(0) 编辑
摘要: #ifndef __ADAPTER_MODEL__#define __ADAPTER_MODEL__#include using namespace std;//GOOD:双方都不适合修改的时候,可以考虑使用适配器模式class Target{public: virtual void request(){ coutspecificalRequest(); Target::request(); }};#endif //__ADAPTER_MODEL__/*#include "Adapter.h"int _tmain(int argc, _TCHAR* argv[]){A... 阅读全文
posted @ 2013-11-13 23:49 解放1949 阅读(130) 评论(0) 推荐(0) 编辑
摘要: GOOD:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以将以后的对象状态恢复到先前保存的状态。适用于功能比较复杂的,但需要记录或维护属性历史的类;或者需要保存的属性只是众多属性中的一小部分时Originator可以根据保存的Memo还原到前一状态。#ifndef __MEMO_MODEL__#define __MEMO_MODEL__#include #include using namespace std;/*GOOD:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以将以后的对象状态恢复到先前保存的状态。适用于功能 阅读全文
posted @ 2013-11-13 23:44 解放1949 阅读(173) 评论(0) 推荐(0) 编辑
摘要: HelloWorldScene.h#ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__#include "cocos2d.h"#include "Box2D/Box2D.h"#include "SimpleAudioEngine.h"class HelloWorld : public cocos2d::CCLayer{public: // Here's a difference. Method 'init' in cocos2d-x retur 阅读全文
posted @ 2013-11-11 23:38 解放1949 阅读(273) 评论(0) 推荐(0) 编辑
摘要: Classed/AppDelegate.cpp 文件内容如下:#include "cocos2d.h"#include "CCEGLView.h"#include "AppDelegate.h"#include "HelloWorldScene.h"#include "SimpleAudioEngine.h"using namespace CocosDenshion;USING_NS_CC;AppDelegate::AppDelegate(){}AppDelegate::~AppDelegate 阅读全文
posted @ 2013-11-11 23:24 解放1949 阅读(283) 评论(0) 推荐(0) 编辑
摘要: #ifndef __STATE_MODEL__#define __STATE_MODEL__#include using namespace std;/*GOOD:当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,可考虑用到状态模式。*/class Work;class ForenoonState;class NoonState;class State{public: virtual void writeProgram(Work* w) = 0;};class Work{private: State* current;public: double h... 阅读全文
posted @ 2013-11-10 22:48 解放1949 阅读(162) 评论(0) 推荐(0) 编辑
摘要: #ifndef __OBSERVER_MODEL__#define __OBSERVER_MODEL__#include #include #include using namespace std;/*GOOD:定义了一种一对多的关系,让多个观察对象(公司员工)同时监听一个主题对象(秘书), 主题对象状态发生变化时,会通知所有的观察者,使它们能够更新自己。*/class Secretary;//看股票的同事类(观察对象,观察者)class StockObserver{private: string name; Secretary* sub;public: StockObser... 阅读全文
posted @ 2013-11-10 21:18 解放1949 阅读(171) 评论(0) 推荐(0) 编辑
摘要: #ifndef __BUILDER_MODEL__#define __BUILDER_MODEL__#include #include #include using namespace std;class Product{private: vector m_product;public: void add(string strtemp) { m_product.push_back(strtemp); } void show() { vector::iterator iter = m_product.begin(); ... 阅读全文
posted @ 2013-11-08 10:47 解放1949 阅读(149) 评论(0) 推荐(0) 编辑