В настоящее время мне кажется, что мне нужно поддерживать два массива. Один для массива спрайтов моего объекта "Клиент" и один для массива реальных объектов клиента.
У меня нет проблем с использованием 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 здесь), или если я делаю что-то еще неправильно.
CCArray
предназначен только для объектов Cocos2d. Вам нужно будет либо изменить класс Customer
для получения CCObject
либо просто использовать std::vector
или некоторую другую структуру массива для размещения вашего класса Customer
.