关于cocos2d-x3.0和2.0之间的区别
来源:互联网 发布:创建视图的sql语句代码 编辑:程序博客网 时间:2024/05/01 16:09
区别1. 去CC
2.0 CCSprite CCCallFunc CCNode .. 3.0 Sprite CallFunc Node ..
区别2.cc***结构体改变
2.0 ccp(x,y) ccpAdd(p1,p2)ccpSubccpMultccpLength(p)ccpDot(p1,p2);ccc3()ccc4()ccWHITECCPointZeroCCSizeZero3.0Point(x,y)p1+p2;p1-p2p1*p2p.getLength()p1.dot(p2)Color3B()Color4B()Color3B::WHITEPoint::ZEROSize:ZERO
区别3.shared***改变(单例机制使用语法)
2.0CCSize winSize = CCDirector::sharedDirector()->getWinSize();SpriteFrameCache::sharedSpriteFrameCache()AnimationCache::sharedAnimationCache()NotificationCenter::sharedNotificationCenter()…3.0Size size = Director::getInstance()->getWinSize();SpriteFrameCache::getInstance()AnimationCache::getInstance()NotificationCenter::getInstance()…
区别4.POD类别
2.0CCPoint CCSizeCCRect3.0Vec2SizeRect
区别5.点触事件
auto dispatcher = Director::getInstance()->getEventDispatcher();auto touchListener = EventListenerTouchOneByOne::create();touchListener->onTouchBegan = CC_CALLBACK_2(FBMainScene::onTouchBegan,this);touchListener->onTouchMoved = CC_CALLBACK_2(FBMainScene::onTouchMoved,this);touchListener->onTouchEnded = CC_CALLBACK_2(FBMainScene::onTouchEnded, this);dispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);bool FBMainScene::onTouchBegan(Touch *touch,Event *pEvent){ CCLOG("onTouchBegan"); Point point = this->convertToWorldSpace(this->convertTouchToNodeSpace(touch)); return true;}void FBMainScene::onTouchMoved(Touch *touch,Event *pEvent){ CCLOG("onTouchMoved");}void FBMainScene::onTouchEnded(Touch *touch,Event *pEvent){ CCLOG("onTouchEnded");}//获得触点的方法也发生了改变:Point point = this->convertToWorldSpace(this->convertTouchToNodeSpace(touch));//dispatcher控制方法:dispatcher->addEventListener…dispatcher->removeEventListener(listener);dispatcher->removeAllListeners();
区别6.回调函数
CC_CALLBACK_0 CC_CALLBACK_1 CC_CALLBACK_2 CC_CALLBACK_3回调函数,分别携带不同的参数,方便
2.0CCMenuItemFont *item = CCMenuItemFont::create("返回上个场景", this, menu_selector(GameScene::backScene));3.0MenuItemFont *item = MenuItemLabel::create("返回上个场景", CC_CALLBACK_1(GameScene::backScene, this));// new callbacks based on C++11#define CC_CALLBACK_0(__selector__,__target__, ) std::bind(&__selector__,__target__, ##__VA_ARGS__)#define CC_CALLBACK_1(__selector__,__target__, ) std::bind(&__selector__,__target__, std::placeholders::_1, ##__VA_ARGS__)#define CC_CALLBACK_2(__selector__,__target__, ) std::bind(&__selector__,__target__, std::placeholders::_1, std::placeholders::_2, ##__VA_ARGS__)#define CC_CALLBACK_3(__selector__,__target__, ) std::bind(&__selector__,__target__, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3 ##__VA_ARGS__)
区别7.CallFunc使用(使用”Function”对象)
CallFunc::create([&](){ Sprite *sprite = Sprite::create("s"); this->addChild(sprite);});
区别8.使用clone代替copy
2.0CCMoveBy *action = (CCMoveBy*) move->copy();action->autorelease();3.0action = move->clone();不需要autorelease,在clone已经实现。
区别9.Physics Integration 物理引擎
暂无使用,box2d 在 3.0中可以延续使用
在3.0的Physics中需要定义 PhysicsWorld, PhysicsBody, PhysicsShape, PhysicsJoint 等,于box2d相仿,使用前需要定义CC_USE_PHYSICS
区别10.容器
2.0CCArray3.0cocos2d::Vector<t>cocos2d::Map<k,v>cocos2d::Value</k,v></t>
0 0
- 关于cocos2d-x3.0和2.0之间的区别
- 关于cocos2d-x3.0和2.0之间的区别
- 关于cocos2d-x3.0和2.0之间的区别
- 关于cocos2d-x3.0和2.0之间的区别
- 关于cocos2d-x3.0和2.0之间的区别
- cocos2d-x3.0和2.0之间的区别
- cocos2d-x3.0 关于ScrollView的使用
- cocos2d-x3.0 关于CCAnimate 的一些资料
- cocos2d-x3.0的HelloWorld
- Cocos2d-x3.0 多平台项目的搭建和编译
- 关于cocos2d-X3.0使用扩展库报错
- Cocos2d-x:3.0和2.0之间的区别
- cocos2d-x3.0的touch事件
- Cocos2d-x3.0 画图函数的使用
- Cocos2d-x3.0中改进的标签
- cocos2d-x3.0的touch事件
- 建立Cocos2d-x3.0版的HelloWorld
- cocos2d-x3.0的touch事件
- 数组中出现一半、超过一半、少于一半,三分之一的元素的问题
- ARM寄存器
- 算法题:最大递增数组个数
- 回归、插值、逼近、拟合的区别
- JSP中文乱码问题终极解决方案
- 关于cocos2d-x3.0和2.0之间的区别
- std::string::npos
- 开发注释方法说明
- struts.xml 中配置常量constant详解
- 为什么父进程不处理标准输入输出子进程会挂起(Java)?
- 用c语言判断计算机是大端模式还是小端模式
- PCIe数据峰值带宽和有效带宽计算
- 实现 boost lexical_cast(基本类型转换)
- Linear Regression_Note of Machine Learning_Andrew NG