Я пытаюсь получить глобальную переменную с именем aliensKilled, которая будет увеличиваться всякий раз, когда вызывается моя функция столкновения между PlayerMissile и Alien.
// главный
// Global Variables:
HINSTANCE hInst; // current instance
TCHAR szTitle[MAX_LOADSTRING]; // The title bar text
TCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name
int aliensKilled = 0;
// PlayerBullet класс
void
PlayerBullet :: Update (с плавающей точкой dt_)
{
float Speed=2.0f;
int rNum = rand()%75;
m_fY+=Speed*dt_;
if (m_fY > 2.5) TagForDeletion();
//check for collision with an alien
CSprite * collidingObject =g_pGame->CheckForCollision(
this, eSpriteTypeAlien);
if (collidingObject)
{
//delete colliding object
collidingObject->TagForDeletion();
//delete self
this->TagForDeletion();
//collidingObject->GetAliensKilled();
aliensKilled++;if (rNum < 5)
{
g_pGame->AddSprite(new Powerup(m_fX, m_fY+0.5*m_fH, 0.9, 0.9, 0));
//delete colliding object
collidingObject->TagForDeletion();
//delete self
this->TagForDeletion();
}
}
CSprite * collidingObjectbar =g_pGame-`enter code here`
Я знаю, что это невероятно простой и минималистичный способ сделать это, но я пробовал более сложные методы, такие как использование метода GetAliensKilled () или использование статической функции, и ничего не компилируется. Я просто хотел показать, что я пытался сделать в его самой простой форме. Мой срок завтра, и любая помощь будет блестящей.
Спасибо за прочтение.
Задача ещё не решена.
Других решений пока нет …