SFML и C++ Уроки \ Разработка игр › Форумы › SFML System, Window и другие вопросы › "Окно" не меняется
В этой теме 3 ответа, 2 участника, последнее обновление verigo 7 года/лет, 7 мес. назад.
Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
-
АвторСообщения
-
Вот код
C++12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576int main(){bool menu = true;bool game = false;//всякие переменыеwhile (window.isOpen()){while (menu){while (window.pollEvent(event)){if (event.type == sf::Event::Closed){window.close();menu = false;}}menu1.setColor(sf::Color::White);menu2.setColor(sf::Color::White);menu3.setColor(sf::Color::White);menuNum = 0;window.clear(sf::Color(129, 181, 221));if (sf::IntRect(100, 30, 300, 50).contains(sf::Mouse::getPosition(window))) { menu1.setColor(sf::Color::Blue); menuNum = 1; }if (sf::IntRect(100, 90, 300, 50).contains(sf::Mouse::getPosition(window))) { menu2.setColor(sf::Color::Blue); menuNum = 2; }if (sf::IntRect(100, 150, 300, 50).contains(sf::Mouse::getPosition(window))) { menu3.setColor(sf::Color::Blue); menuNum = 3; }if (sf::Mouse::isButtonPressed(sf::Mouse::Left)){if (menuNum == 1){game = true;menu = false;//если нажали первую кнопку, то выходим из меню}if (menuNum == 2){window.draw(about);window.display();while (!sf::Keyboard::isKeyPressed(sf::Keyboard::Escape));}if (menuNum == 3){window.close(); menu = false;}}window.draw(menuBg);window.draw(menu1);window.draw(menu2);window.draw(menu3);window.display();}while (game){while (window.pollEvent(event)){if (event.type == sf::Event::Closed){window.close();game = false;}сама игра}}}return 0;}Когда нажимаю на кнопку номер 1 ничего не происходит и окно не закрывается через event
Я решил проблему. Но не мог кто-нибудь сделать смену уровней ( 3 уровня на каждом по две кнопки и нажимая на них перекидывают на нужный уровень) .
C++1234567891011121314151617enum LEVEL_STATE { L1, L2, L3, L4, ....} level;level = LEVEL_STATE::L1;switch(level){case L1:if(Click_L2()) level = LEVEL_STATE::L2;break;case L2:if(Click_L1()) level = LEVEL_STATE::L1;if(Click_L3()) level = LEVEL_STATE::L3;break;case L3:if(Click_L2()) level = LEVEL_STATE::L2;if(Click_L4()) level = LEVEL_STATE::L4;break;.....}Спасибо, но это фрагмент из кода и я до конца не понял как его реализовать. Не могли вы скинуть весь код.
-
АвторСообщения
Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
Для ответа в этой теме необходимо авторизоваться.