0

我正在将基于 Cocos2dx 的游戏从 iOS 移植到 Windows Phone 8。这里的问题是在我更改修复 API 差异的所有错误后,我得到了一堆语法错误,未声明的变量(尽管这些变量已声明)。这是我的示例代码: .h 文件:

#ifndef __Bomb__
#define __Bomb__

#include "MoveableObject.h"

typedef enum BombType {
    BombTypeElectrical,
    BombTypeIce,
    BombTypeChemical,
    BombTypeSmall,
    BombTypeBig
} BombType;

class Bomb : public MoveableObject {
public:
    Bomb() {};
    Bomb(const char* szName);
    virtual ~Bomb() {};

    void setType(int nType) { m_nType = nType; };

    int getType() { return m_nType; };
    bool isExploding() { return m_bExploding; };
    int bombTypeForName(const char* szName);

    void expode();
    void activate();
    void finishExploding();

protected:
    bool m_bExploding;
    int m_nType;
};

#endif

错误在这里标记:

Bomb::Bomb(const char* szName) : MoveableObject(szName), m_bExploding(false) {
    m_nType = this->bombTypeForName(szName);
}

错误 28 错误 C3861: 'm_bExploding': identifier not found 以前有人遇到过这个问题吗?我怎么能像这样解决这些问题(总共有 420 个错误)?任何帮助表示赞赏。谢谢。

4

1 回答 1

0

我认为错误是因为 cocos2d-x 和 WP8 端口的不同版本。有更新版本的 WP8 端口可用: http: //www.cocos2d-x.org/news/98

您可能使用的是旧版本 0.13。有很多语法(函数签名)更改,因此出现错误。尝试给定链接中的 2.0 版。它具有与 cocos2d-x v2.1 相同的 API

于 2013-06-16T17:13:06.643 回答