2013-11-23 2 views
0

В настоящее время кажется, что мне нужно поддерживать два массива. Один для массива спрайтов моего объекта «Клиент» и один для массива реальных объектов клиента.Как разместить собственный объект класса в CCArray?

У меня нет проблем с использованием CCArray для спрайтов клиентов (CCSprite).

Однако я не могу добавить объекты Customer в CCArray.

Вот код для моего класса клиентов:

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 здесь), или если я делаю что-то еще неправильно.

ответ

2

CCArray предназначено только для объектов Cocos2d. Вам нужно будет либо изменить свой класс Customer на CCObject, либо просто использовать std::vector или какую-либо другую структуру массива, чтобы разместить свой класс Customer.

Смежные вопросы