Я создаю игровой макет Tower Defense, в котором враги пытаются пересечь экран до того, как они будут уничтожены.
Указатели на динамически размещаемые объекты Enemy хранятся в векторе внутри класса EnemyManager, который контролирует их появление ипропадают.Когда здоровье врага достигает нуля, EnemyManager удаляет его, используя delete
, а также erase
s указатель.
У меня есть объект BulletTower, который предназначен для привязки к одному врагу и стрельбы доэто разрушено, затем зафиксируйте на другом.Для этого требуется указатель на объект Enemy, но если Enemy умирает и удаляется EnemyManager, указатель зависает.
Кажется, что указатель не может определить, заблокирован ли враг.на уничтожен.Я посмотрел на умные указатели, но кажется, что общие указатели не будут работать, учитывая, что враги удаляются вручную, когда их здоровье достигает нуля.