Cocos2dx 3.0 過渡篇(一) 初體驗
方法/步驟
1、以CC開頭的類從此去掉CC,如:
v2.1 v3.0
CCSprite Sprite
CCNode Node
CCDirector Director
etc...
舉個例子,創建一個精靈的方式:
v2.0
CCSprite* sp = CCSprite::create();
v3.0
auto sp = Sprite::create();
2、clone() 替代 copy(), 這個我用的不多,所以也就不多交代了;
3、Director的單例換成getInstance() 和 destroyInstance();
v2.1 v3.0
CCDirector->sharedDirector() Director->getInstance()
CCDirector->endDirector() Director->destroyInstance()
etc...
4、新的觸摸機制,先貼一段代碼給大家看看,可能是下一篇或者下下篇我會詳細講下新的觸摸機制的。
auto sprite = Sprite::create("file.png");
...
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouch(true);
listener->onTouchBegan = [](Touch* touch, Event* event) { do_some_thing(); return true; };
listener->onTouchMoved = [](Touch* touch, Event* event) { do_some_thing(); };
listener->onTouchEnded = [](Touch* touch, Event* event) { do_some_thing(); };
listener->onTouchCancelled = [](Touch* touch, Event* event) { do_some_thing(); };
// The priority of the touch listener is based on the draw order of sprite
EventDispatcher::getInstance()->addEventListenerWithSceneGraphPriority(listener, sprite);
// Or the priority of the touch listener is a fixed value
EventDispatcher::getInstance()->addEventListenerWithFixedPriority(listener, 100); // 100 is a fixed value
5、還有一些雜七雜八的東西,本人理解的不透,也就不發出來獻醜了,最後將CCType.h 裡的一些變動貼出來,讓我們愉快的結束這篇經驗。
一些全局的定義:
繼續...
v2.1 names v3.0 names
ccp Point
ccpNeg Point::-
ccpAdd Point::+
ccpSub Point::-
ccpMult Point::*
ccpMidpoint Point::getMidpoint
ccpDot Point::dot
ccpCrosss Point::cross
ccpPerp Point::getPerp
ccpRPerp Point::getRPerp
ccpProject Point::project
ccpRotate Point::rotate
ccpUnrotate Point::unrotate
ccpLengthSQ Point::getLengthSq()
ccpDistanceSQ Point::getDistanceSq
ccpLength Point::getLength
ccpDistance Point::getDistance
ccpNormalize Point::normalize
ccpForAngle Point::forAngle
ccpToAngle Point::getAngle
ccpClamp Point::getClampPoint
ccpFromSize Point::Point
ccpCompOp Point::compOp
ccpLerp Point::lerp
ccpFuzzyEqual Point::fuzzyEqual
ccpCompMult Point::Point
ccpAngleSigned Point::getAngle
ccpAngle Point::getAngle
ccpRotateByAngle Point::rotateByAngle
ccpLineInersect Point::isLineIntersect
ccpSegmentIntersect Point::isSegmentIntersect
ccpIntersectPoint Point::getIntersectPoint
CCPointMake Point::Point
CCSizeMake Size::Size
CCRectMake Rect::Rect
PointZero Point::ZERO
SizeZero Size::ZERO
RectZero Rect::ZERO
TiledGrid3DAction::tile TiledGrid3DAction::getTile
TiledGrid3DAction::originalTile TiledGrid3DAction::getOriginalTile
TiledGrid3D::tile TiledGrid3D::getTile
TiledGrid3D::originalTile TiledGrid3D::getOriginalTile Grid3DAction::vertex Grid3DAction::getVertex
Grid3DAction::originalVertex Grid3DAction::getOriginalVertex
Grid3D::vertex Grid3D::getVertex
Grid3D::originalVertex Grid3D::getOriginalVertex
Configuration::sharedConfiguration Configuration::getInstance
Configuration::purgeConfiguration Configuration::destroyInstance()
Director::sharedDirector() Director::getInstance()
FileUtils::sharedFileUtils FileUtils::getInstance
FileUtils::purgeFileUtils FileUtils::destroyInstance
EGLView::sharedOpenGLView EGLView::getInstance
ShaderCache::sharedShaderCache ShaderCache::getInstance
ShaderCache::purgeSharedShaderCache ShaderCache::destroyInstance
AnimationCache::sharedAnimationCache AnimationCache::getInstance
AnimationCache::purgeSharedAnimationCache AnimationCache::destroyInstance
SpriteFrameCache::sharedSpriteFrameCache SpriteFrameCache::getInstance
SpriteFrameCache:: purgeSharedSpriteFrameCache SpriteFrameCache::destroyInstance
NotificationCenter::sharedNotificationCenter NotificationCenter::getInstance
NotificationCenter:: purgeNotificationCenter NotificationCenter::destroyInstance
Profiler::sharedProfiler Profiler::getInstance
UserDefault::sharedUserDefault UserDefault::getInstance
UserDefault::purgeSharedUserDefault UserDefault::destroyInstance
Application::sharedApplication Application::getInstance
ccc3() Color3B()
ccc3BEqual() Color3B::equals()
ccc4() Color4B()
ccc4FFromccc3B() Color4F()
ccc4f() Color4F()
ccc4FFromccc4B() Color4F()
ccc4BFromccc4F() Color4B()
ccc4FEqual() Color4F::equals()
ccWHITE Color3B::WHITE
ccYELLOW Color3B::YELLOW
ccBLUE Color3B::BLUE
ccGREEN Color3B::GREEN
ccRED Color3B::RED
ccMAGENTA Color3B::MAGENTA
ccBLACK Color3B::BLACK
ccORANGE Color3B::ORANGE
ccGRAY Color3B::GRAY
kBlendFuncDisable BlendFunc::BLEND_FUNC_DISABLE