天天看点

Cocos2dx 3.0 过渡篇(一) 初体验

有段时间没更新博客了,自认为水平实在够菜,不忍心出来坑人~~~~

昨天cocos2dx 3.0 beta 版也出来了,我之前也用过一两个星期的alpha1版,所以决定写一些关于3.0的博文,这里不仅只有我个人的一些理解和看法,同时我也会把开发过程中遇到的问题贴上来,希望大神们给予回答~~

1、以cc开头的类从此去掉cc,如:

举个例子,创建一个精灵的方式:

Cocos2dx 3.0 过渡篇(一) 初体验

v2.0   

ccsprite* sp = ccsprite::create();  

v3.0  

auto sp = sprite::create();  

2、clone() 替代 copy(), 这个我用的不多,所以也就不多交代了;

3、director的单例换成getinstance() 和 destroyinstance();

                                             |

4、新的触摸机制,先贴一段代码给大家看看,可能是下一篇或者下下篇我会详细讲下新的触摸机制的。

Cocos2dx 3.0 过渡篇(一) 初体验

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 里的一些变动贴出来,让我们愉快的结束这篇博文。

一些全局的定义:

继续阅读