10 2013 档案
摘要:bool CCLayer::init(){ bool bRet = false; do { CCDirector * pDirector; CC_BREAK_IF(!(pDirector = CCDirector::sharedDirector())); this->setContentSize(...
阅读全文
摘要:inttag; intgetTag(){returntag;} voidsetTag(intaTag){tag=aTag;}利用Cocos2d-x提供的宏,上面的Tag属性定义就可以用下面一条语句代替了:CC_SYNTHESIZE(int,tag,Tag) 每个宏都有3个参数,分别是:varType...
阅读全文
摘要:宏的单行定义#definemaxi(a,b)(a>;b?a:b)宏的多行定义宏可以替代多行的代码 关键是要在每一个换行的时候加上一个"\"宏定义写出swap(x,y)交换函数#defineswap(x,y)\x=x+y;\y=x-y;\x=x-y;——————————————————————————...
阅读全文
摘要:C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。在C++中,没有跨域重载——继承类和基类虽然关系很亲密,但也不能坏了这条规矩。可以通过把方法声明为虚函数 来保证方法可以被子类重载#inclu...
阅读全文
摘要:boundingBox() ——如果你在一个Sprite(比如A)中加入一个子Sprite(比如B),则B通过boundingBox()获取到的边框,相对于父Layer来说,位置是不准的,这会导致明明按中了B,却得不到该有的响应。(少用boundingbox 可用contentSize代替引擎而已不...
阅读全文
摘要:2、关于节点的摄像机cam->setEyeXYZ(0,0,500);//以“Eye”为起点 eye是一个位置点 cam->setCenterXYZ(0,0,-1);//朝“Center”看 center是一个向量cam->setUpXYZ(0,1,0);//沿着“Up”方向 站着看地上一个图片 转动...
阅读全文
摘要:void visit()//此方法为绘制时调用,系统每帧调用{glEnable(GL_SCISSOR_TEST);glScissor(0, 0, 1024, 768);//x, y, w, h 左下0 0点cocos2d::CCLayer::visit();//调用自己的类方法glDisable(G...
阅读全文
摘要:#pragma once#include "cocos2d.h"USING_NS_CC;class LongTouch :public cocos2d::CCNode, public cocos2d::CCTouchDelegate{CC_SYNTHESIZE(CCSprite*, m_normal...
阅读全文
摘要:1)钟爱组合而不是继承,2)钟爱接口而不是实现
阅读全文
摘要:CCAction的基类virtual void stop (void)动作完成后自动调用,不能手动的用一个动作调用stop()virtual void step (ccTime dt)每帧都会调用 一般不用重写virtual void update (ccTime time)在动作过程中调用一次,需...
阅读全文
摘要:cocos2d简介————————————————————————————————————————————首先Cocos2D 降低了技术的复杂性。它虽然基于OpenGL(Open Graphics Library,开放图形库)和OpenGL ES(OpenGL for Embedded System...
阅读全文
摘要://动态添加需求//Decorator模式,又叫装饰模式,就是给一个对象额外地添加一些职责,以适应更多的变化。//你或许写一个Door //的子类AlarmDoor ,在里面添加一个子类独有的方法alarm() 。而当你的系统仅仅在一两个地方使用了警报门,这明 //显是不合理的——虽然可以使用缺省适...
阅读全文
摘要://状态机 详细的在23种设计模式 4.2//1) 使用环境(Context)角色:客户程序是通过它来满足自己的需求。它定义了客户程序需要的接口;并且维护一个具体状态角色的实例,这个实例来决定当前的状态。//2) 状态(State)角色:定义一个接口以封装与使用环境角色的一个特定状态相关的行为。//...
阅读全文
摘要:// 观察者(Observer )模式又名发布-订阅(Publish/Subscribe)模式。GOF 给观察者模 //式如下定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依 //赖于它的对象都得到通知并被自动更新。 //观察者模式的起源我觉得 应该是在 GUI 和业务数据...
阅读全文
摘要://详细的在23种设计模式 4.3//1) 访问者角色(Visitor):为该对象结构中具体元素角色声明一个访问操作接口。该操作//接口的名字和参数标识了发送访问请求给具体访问者的具体元素角色。这样访问者就可//以通过该元素角色的特定接口直接访问它。//2) 具体访问者角色(Concrete Vis...
阅读全文
摘要://工厂模式//工厂模式主要为创建对象提供过渡接口 以便将创建对象的过程屏蔽起来//何时使用//1、当客户程序不需要知道要使用对象的创建过程//2、客户程序使用的对象存在变动的可能,或者根本不知道使用哪一个具体的对象//工厂负责创造对象(new对象)#include #include class C...
阅读全文
摘要://Mediator 模式提供将对象间 的交互和通讯封装在一个类中,各个对象间的通信不必显势去声明和引用,大大降低了系统 的复杂性能 ////例如 图中 ConcreteColleagueA 和 ConcreteColleagueB 之间的交互就可以通过 ConcreteMediator 提供的 /...
阅读全文
摘要://迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的//内部细节。//在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,...
阅读全文
摘要://Adapter模式又叫适配器模式,顾名思义,这个模式就是把一个不能用的东西“适配”成可以用的东西。//那么是如何“适配”的呢?比如,东西A想使用东西B,但是A没有能力(没法)使用B,怎么办?A就让东西C帮忙,A通过C就可以用B了。C如何帮忙呢?//C一边可以通过一个“手柄”让A握住,A一用力,C...
阅读全文
摘要://动态添加需求//Decorator模式,又叫装饰模式,就是给一个对象额外地添加一些职责,以适应更多的变化。//你或许写一个Door //的子类AlarmDoor ,在里面添加一个子类独有的方法alarm() 。而当你的系统仅仅在一两个地方使用了警报门,这明 //显是不合理的——虽然可以使用缺省适...
阅读全文
摘要://子系统发生的变化,很可 能要影响到客户类的调用。而且子系统在不断优化、可重用化的重构路上,会产生更多更小 //的类。这对使用子系统的客户类来说要完成一个工作流程,似乎要记住的接口太多了。 // 门面模式就是为了解决这种问题而产生的//使用环境和优点 // 《设计模式》给出了门面模式的使用环境: ...
阅读全文
摘要://建造者模式//定义//将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。//实用范围//1 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。//2 当构造过程必须允许被构造的对象有不同表示时。//角色//在这样的设计模式中...
阅读全文
摘要://单例(件)模式//定义:保证一个类仅有一个实例,并提供一个访问他的全局访问点//1、一个类的产生是由类构造函数完成的 使其私有化 外部就不能直接实例类对象//2、提供一个访问单例的静态方法//常用:工厂(因为系统我们就只有一个工厂来创建对象就可以了)..打印机的实例..//系统方法库..//不变...
阅读全文
摘要:定义为某个值 以便后面修改这个值时不用修改其它地方代码 只要修改这个宏的定义就可以了 如一个软件的多语言版本等 #define 标识符 字符串其中的标识符就是所谓的符号常量,也称为“宏名”掌握"宏"概念的关键是“换”无参数宏定义————其中# define之后的标识符称为宏定义名(简称宏名)# de...
阅读全文
摘要:简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类...
阅读全文
摘要:函数:gets(字符指针)功能:从stdio流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。注意:本函数可以无限读取,不会判断上限,所以程序员应该确保buffer的空...
阅读全文
摘要:文本文件——FILE* file = fopen("xx.txt","xx")//fopen返回值是一个FILE指针 为0则打开失败fputc('w',file);//把字符w写入file 写入成功返回一个int型值 写入字符包含在低字节 高字节为0fgetc(file);//成功返回一个int型值...
阅读全文
摘要:在ANSI C 的标准文献中,将你所指的“CPP 中的类代码”称为statement(声明 声明的意思是说明,解释);将你所指的“H 中的类代码”称为definition(定义),两者的定义是完全不同的主要指:statement将被C 编译器直接转换为二进制代码,而definition 只被C 编译...
阅读全文
摘要:当模板类型是数组时,数组不是类型,,,,,,,,,,,,,,,,,,
阅读全文
摘要:生存期 局部变量(非指针)函数结束自行销毁 指针delete后销毁设置变量不要怕多 变量越多逻辑越好写(当然不要有两个变量可以通过数学关系相通) 有的时候某两个看似相同的变量是不可互相替代的 如正反面 和是否翻过关于二维数组 次序数 和宽度(和坐标最大元素)既可以确定位置了[30、41、61]—— ...
阅读全文
浙公网安备 33010602011771号