Как разместить собственный объект класса в CCArray?

0

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

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

Однако я не могу добавить объекты 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 здесь), или если я делаю что-то еще неправильно.

Теги:
arrays
cocos2d-x

1 ответ

2
Лучший ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню