cocos2d-x游戏开发中的一些个人总结 。

很重要的结论:
cocos2d-x  


你可以在进入CCSCene 之前进行创建Sprite 
但是 【删除sprite 对象】 必须在退出CCScene 之前删除 
否则删除 会导致CCTexture2D::~CCTexture2D() {
glDeleteTextures(1, &m_uName);   // CRASH !!!    
}




scheduleUpdate 为对 target 的 retainCount +1 
CCCallfun 也会对target的 retainCount +1 




CCSpriteBatchNode 指定texture 后,下面的Sprite 对象 的texture 必须为batchnode所指的texture.


bug on cocos2d-x 
ccsequnce::create(ccaction ,....);  never use this function.


schedule_selector  的select函数 的参数 一定要匹配






C++: 


1.模板的分离编译问题~
2.父类的析构函数要加virtual .以防无法调用到子类的析构函数 。
3.取消提示 >          g:\ip\dev\iphone dev\cocos2d\planefps\classes\entity\enemy\vehiclegroup.h(55): 编译类 模板 成员函数“VehicleGroup<T> *VehicleGroup<T>::buildGroup(Path *,Vector2D,int,float)”时
1>          with
1>          [
1>              T=TTMyEnemy
1>          ]
1>          g:\ip\dev\iphone dev\cocos2d\planefps\classes\entity\enemy\enemygroupbuilder.h(15): 参见对正在编译的类 模板 实例化“VehicleGroup<T>”的引用
1>          with
1>          [
1>              T=TTMyEnemy
1>          ]
将调用模板方法的地方放入cpp文件 里面
 使用 C++拷贝函数 原型模式


/* C++拷贝函数 不会自动 调用基类的拷贝函数 ,而且基类的拷贝函数要重写才能调用。 */


调用频繁的函数 ,尽量写成 inline 函数 。避免了频繁的跳转,出入践


static 在ios 上自动析构????

你可能感兴趣的:(cocos2d-x游戏开发中的一些个人总结 。)