Проблема, с которой я сталкиваюсь, это создание двух разных меню из одного класса. Когда я заканчиваю первый, все в порядке. Однако, когда я создаю второй и устанавливаю его регион, он также изменяет предыдущий. Когда я вызываю Display(), который просто переворачивает логическую переменную, он переворачивает его для обоих, а не только для того, к которому я звоню.Создание двух отдельных экземпляров из того же класса заставляет их соединяться вместе?
cMenu* gameMenu;
cMenu* spellMenu;
gameMenu = new cMenu();
for(int i=0; i< 25; i++)
gameMenu->AddButton("test", i);
AddGameObject(gameMenu);
spellMenu = new cMenu();
spellMenu->SetRegion(580, 50, 52, 250, FORMAT_5X1); // This modifies gameMenu as well
spellMenu->Display(); // So does this
g.AddGameObject(spellMenu);
Зачем использовать 'new' здесь? –
Вы используете g.AddGameObject для spellMenu, но просто используйте метод для gameMenu, а не метод на g-объекте. – dwarFish