11 2013 档案
摘要://示例代码/* typedef enum LanguageType { kLanguageEnglish = 0, kLanguageChinese, kLanguageFrench, kLanguageItalian, kLanguageGerman, //德语 kLanguageSpanish, //西班牙语 kLanguageRussian, kLanguageK...
阅读全文
摘要:/* *bool hasMoved(); 这里获取的不是开关是否正在被用户拨动,而是开关最终的状态是由用户手动拨动开关进行的, *还是用户点击开关进行的状态更改 */ CCControlSwitch* pSwitch = CCControlSwitch::create( CCSprite::create("switch-mask.png"), CCSprite::create("switch-on.png"), CCSprite::create("switch-off.pn...
阅读全文
摘要:EditBox 创建添加 以及 一些函数参数的解析#include "GUI/CCEditBox/CCEditBox.h"#include "GUI/CCControlExtension/CCScale9Sprite.h"#include "cocos-ext.h"USING_NS_CC;USING_NS_CC_EXT;CCScale9Sprite* spr = CCScale9Sprite::create("Icon.png"); CCEditBox* box = CCEditBox::create(CCSize
阅读全文
摘要://继承(class HelloWorld : public cocos2d::CCLayer, public cocos2d::CCTextFieldDelegate) CCTextFieldTTF* textField = CCTextFieldTTF::textFieldWithPlaceHolder("Click input...", "Helvetica", 24); textField->setPosition(ccp(size.width*0.5,size.height*0.7)); addChild(textField); ...
阅读全文
摘要:cocos2d-x version 2.2.0首先,在 HelloWorldScene.cpp 中的 init()函数中 添加如下代码 (资源文件可以直接到 cocos2d-x 中获取)#include "CCArmature/utils/CCArmatureDataManager.h" //(头文件添加)//! create a new thread to load data(异步加载) /** * @brief Add ArmatureFileInfo, it is managed by CCArmatureDataManager. * It ...
阅读全文
摘要:3.4 常用的两种 layer 层//在cocos2d-x中,经常使用到的两种 layer 层 : CCLayer 和 CCLayerColor //CCLayer 的创建 CCLayer* layer = CCLayer::create(); //CCLayerColor 的创建 CCLayerColor* layerColor = CCLayerColor::create(const cocos2d::ccColor4B &color); //RGBO /* 注意: 新创建的 CCLayer 和 CCLayerColor 层如果没有手动设置...
阅读全文
摘要:3.3.1 创建精灵常用的 4 种方式 (当然还有其他方式,只不过 这四种比较常用)//创建精灵常用的 4 种方式 CCSprite* spr1 = CCSprite::create(const char* pszFileName); //作用:通过一张图片生成精灵对象 //参数:图片名称 CCSprite* spr2 = CCSprite::create(const char* pszFileName, const cocos2d::CCRect& rect); //作用:通过一张图片进行指定区域裁剪后,生成精灵对象 //参数 1:图片名称 //参数...
阅读全文
摘要: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) = ...
阅读全文
摘要:#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;};//部...
阅读全文
摘要:#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...
阅读全文
摘要:GOOD:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以将以后的对象状态恢复到先前保存的状态。适用于功能比较复杂的,但需要记录或维护属性历史的类;或者需要保存的属性只是众多属性中的一小部分时Originator可以根据保存的Memo还原到前一状态。#ifndef __MEMO_MODEL__#define __MEMO_MODEL__#include #include using namespace std;/*GOOD:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以将以后的对象状态恢复到先前保存的状态。适用于功能
阅读全文
摘要: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
阅读全文
摘要: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
阅读全文
摘要:#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...
阅读全文
摘要:#ifndef __OBSERVER_MODEL__#define __OBSERVER_MODEL__#include #include #include using namespace std;/*GOOD:定义了一种一对多的关系,让多个观察对象(公司员工)同时监听一个主题对象(秘书), 主题对象状态发生变化时,会通知所有的观察者,使它们能够更新自己。*/class Secretary;//看股票的同事类(观察对象,观察者)class StockObserver{private: string name; Secretary* sub;public: StockObser...
阅读全文
摘要:#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(); ...
阅读全文
摘要:#ifndef __FACADE_MODEL__#define __FACADE_MODEL__#include using namespace std;//GOOD:为子系统的一组接口提供一个一致的界面。使用户使用起来更加方便。class SubSystemOne{public: void methodOne(){ coutmethodOne(); sub2->methodTwo(); sub3->methodThree(); }private: SubSystemOne* sub1; SubSystemTwo* sub2; SubS...
阅读全文
摘要:#ifndef __TEMOLATE_METHOD_MODEL__#define __TEMOLATE_METHOD_MODEL__#include #include using namespace std;/*GOOD:把不变的代码部分都转移到父类中,将可变的代码用virtual留到子类重写迪米特法则:如果两个类不直接通信,那么这两个类就不应当发生直接的相互作用。如果一个类需要调用另一个类的某个方法的话,可以通过第三个类转发这个调用。在类的结构设计上,每一个类都应该尽量降低成员的访问权限。*/class AbstractClass{public: void show() { ...
阅读全文