2015-04-23 88 views
0

似乎Coctring在Cocos2d-x v3.5中已弃用。我们应该用什么来代替?另外,弃用的原因是什么?CCString在Cocos2D-x中已弃用

+1

[Value](http://www.cocos2d-x.org/reference/native-cpp/V3.5/dc/dd1/classcocos2d_1_1_value.html)是可以用作字符串等容器的类型。但我不知道这种弃用的任何特定原因 – Nadarian

回答

5

简短的回答:改为使用std :: string。

整个代码库正朝着使用标准库(STL,std :: namespace)以及新C++ 11特性的地方转变。

您可以在任何使用CCArray和CCDictionary的地方继续使用CCString。当然,这些都是不推荐的,所以你最终应该转向使用std :: string。

ValueMap和ValueVector是CCArray和CCDictionary的替代品,它们基于STL std :: map和std :: vector并包含Value对象。值可以容纳std :: string,int,float,bool,以及ValueMap/ValueVector以允许嵌套容器。

+0

为什么CCImage也被弃用? – southerton

+3

改为使用图像。从本质上讲,大多数类(或者也许都是3.8)都将CC前缀删除,而将它们置于cocos2d :: namespace层次结构中。 有关所有这些更改,请参阅已弃用/ CCDeprecated.h。 –

+0

使用std :: string而不是CCString很好。但是关于在CCImage中删除CC *以及所有其他以前将要用到的CC类的话题,我只是觉得很难在需要的时候找到我需要的cocos类。我是唯一使用代码完成的人吗?那么,没有意义开始长时间的讨论 - 我可以像以下那样处理:-)。但FWIW,至少他们可以将这些类重新命名为CXImage等其他类。 – Jonny

0

如果您希望将您的应用程序从2.x升级到3.x. 改用__String。

否则,使用std :: string作为上面的答案。