Cocos2dx 3.0 交流篇(一) 初体验
来源:未知 责任编辑:责任编辑 发表时间:2014-01-20 07:51 点击:次
有段时间没更新博客了,自认为水平实在够菜,不忍心出来坑人~~~~
昨天cocos2dx 3.0 beta 版也出来了,我之前也用过一两个星期的alpha1版,所以决定写一些关于3.0的博文,这里不仅只有我个人的一些理解和看法,同时我也会把开发过程中遇到的问题贴上来,希望大神们给予回答~~
1、以CC开头的类从此去掉CC,如:
举个例子,创建一个精灵的方式:
2、clone() 替代 copy(), 这个我用的不多,所以也就不多交代了;
3、Director的单例换成getInstance() 和 destroyInstance();
4、新的触摸机制,先贴一段代码给大家看看,可能是下一篇或者下下篇我会详细讲下新的触摸机制的。(嘻嘻,搞得我好像很牛逼哄哄的样子)
5、还有一些杂七杂八的东西,本人理解的不透,也就不发出来献丑了,最后将CCType.h 里的一些变动贴出来,让我们愉快的结束这篇博文。
昨天cocos2dx 3.0 beta 版也出来了,我之前也用过一两个星期的alpha1版,所以决定写一些关于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 struct names | v3.0 struct names |
| ccColor3B | Color3B |
| ccColor4B | Color4B |
| ccColor4F | Color4F |
| ccVertex2F | Vertex2F |
| ccVertex3F | Vertex3F |
| ccTex2F | Tex2F |
| ccPointSprite | PointSprite |
| ccQuad2 | Quad2 |
| ccQuad3 | Quad3 |
| ccV2F_C4B_T2F | V2F_C4B_T2F |
| ccV2F_C4F_T2F | V2F_C4F_T2F |
| ccV3F_C4B_T2F | V3F_C4B_T2F |
| ccV2F_C4B_T2F_Triangle | V2F_C4B_T2F_Triangle |
| ccV2F_C4B_T2F_Quad | V2F_C4B_T2F_Quad |
| ccV3F_C4B_T2F_Quad | V3F_C4B_T2F_Quad |
| ccV2F_C4F_T2F_Quad | V2F_C4F_T2F_Quad |
| ccBlendFunc | BlendFunc |
| ccT2F_Quad | T2F_Quad |
| ccAnimationFrameData | AnimationFrameData |
一些全局的定义:
// in v2.1 ccColor3B color3B = ccc3(0, 0, 0); ccc3BEqual(color3B, ccc3(1, 1, 1)); ccColor4B color4B = ccc4(0, 0, 0, 0); ccColor4F color4F = ccc4f(0, 0, 0, 0); color4F = ccc4FFromccc3B(color3B); color4F = ccc4FFromccc4B(color4B); ccc4FEqual(color4F, ccc4F(1, 1, 1, 1)); color4B = ccc4BFromccc4F(color4F); color3B = ccWHITE; // in v3.0 Color3B color3B = Color3B(0, 0, 0); color3B.equals(Color3B(1, 1, 1)); Color4B color4B = Color4B(0, 0, 0, 0); Color4F color4F = Color4F(0, 0, 0, 0); color4F = Color4F(color3B); color4F = Color4F(color4B); color4F.equals(Color4F(1, 1, 1, 1)); color4B = Color4B(color4F); color3B = Color3B::WHITE;
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>