replaceScene()弄乱了一个公共变量

时间:2015-09-07 13:02:53

标签: c++ ios mobile cross-platform cocos2d-x

我将游戏从cocos2d-iphone 2.x移植到cocos2d-x 3.x. 必须解决一些问题,包括重大崩溃 - 这篇文章的主题。

已经确定崩溃发生是因为SOMETIMES,我的replaceScene调用导致混乱的重要公共变量。

我的课程:

ulimit -n is  8012

我的图层方法:

class Player : public cocos2d::Sprite
{
public:
    ....
    cocos2d::Vec2 desiredPosition;
    ....

被混乱的成员是desiredPosition。它在update()方法中更改。问题是update()获得了一个已经混乱的所需位置。在场景被替换之后,它只会搞砸。问题在10次运行中发生一次左右。甚至看起来在更换场景后第一次调用update()时,desiredPosition设置为一些垃圾。是我无法了解更多。

我的Player类没有单独的构造函数。

请告知。

1 个答案:

答案 0 :(得分:0)

我忘了初始化另一个实例变量。该实例变量用于计算desiredPosition。