如何将自定义类对象放入CCArray?

时间:2013-11-23 19:43:39

标签: c++ arrays cocos2d-x

目前我似乎需要维护两个数组。一个用于我的对象“Customer”的精灵数组,一个用于实际客户对象的数组。

对于客户精灵(CCSprite)使用CCArray我没有问题。

但是我似乎无法将我的Customer对象添加到CCArray中。

以下是我的Customer类的一些代码:

class Customer
{
    int tag;
    double moneyCurrent;
    double moneyBanked;
public:
    Customer();
    void setTag(int);
    void setMoneyCurrent(double);
    void setMoneyBanked(double);
    int getTag();
    double getMoneyCurrent();
    double getMoneyBanked();
};

以下是我尝试将客户添加到CCArray的一些代码:

void MainGame::createNewCustomer(int i)
{
    Customer* newCustomer = new Customer();
    newCustomer->setTag(i);
    CCObject* newCustomerObject = (CCObject *)newCustomer;
    _customers->addObject(newCustomerObject);
}

它收到编译器错误。它源于我尝试将新的Customer对象转换为CCObject。

我不完全确定我的原创想法是否错误(也许我不能在这里使用CCArray),或者我做错了什么。

1 个答案:

答案 0 :(得分:2)

CCArray仅适用于Cocos2d对象。您需要更改Customer课程以从CCObject派生,或者只使用std::vector或其他一些数组结构来容纳Customer课程。