Как получить переменную из другого экземпляра того же класса? - PullRequest
0 голосов
/ 14 мая 2019

Я использую SFML, чтобы сделать простую файтинговую игру. У меня есть класс Fighter, который я использую для создания двух объектов. В основном:

Fighter fighterOne;
Fighter fighterTwo;

Оба бойца модифицируют одни и те же переменные, в основном isLow () и isGuarded (). Чтобы проверить столкновение между двумя бойцами, я вызываю checkHit () в updateFighter () (в основном, если боец ​​обновляет ход, проверяет, ударил ли он), я проверяю столкновение в своем классе collision.h

Примечание: я выбираю, какой боец ​​в настоящее время обновляется с помощью bool isRight. если это правда, он изменяет 2-го бойца, иначе он модифицирует первый.

void Fighter::updateFighter(Sprite& fighter, Sprite& otherFighter, bool isRight)
{
    if (Keyboard:isKeyPressed(attack)
    {
        //animates the attack
        collision.checkHit(fighter, otherFighter, isLow, isGuarded, lowAttack, isRight);
    }
}

Проблема в том, что с вышесказанным я пытаюсь проверить значение isLow противоположного объекта истребителя (fighterTwo). Но когда я называю это так, он отключается от используемого в настоящее время isLow, который принадлежит fighterOne. Как передать значение isLow для fighterTwo в checkHit вместо fighterOne?

...