0
我试图做一个var增加,当我按一个键, 但有一个问题。 正如我持有该密钥,它继续前进,增加我的号码(直到我释放密钥,当然)。 我不想为每次新闻都添加一个,即使当我拿着它时也是如此。sfml - 等到钥匙不再按下
这里是我的代码:
#include <SFML/Graphics.hpp>
#include <string>
#include <unistd.h>
#include <iostream>
using namespace std;
int main()
{
sf::RenderWindow window(sf::VideoMode(800, 600), "-\\\\-(Game)-//-");
sf::Style::Resize;
int Selected = 1;
std::string s = std::to_string(Selected);
window.setSize(sf::Vector2u(800, 600));
sf::Font font;
font.loadFromFile("DIMITRI_.TTF");
sf::Event event;
sf::Text Bplay("Play", font);
Bplay.setCharacterSize(60);
Bplay.setStyle(sf::Text::Underlined);
Bplay.setPosition(50, 300);
sf::Text Boption("Settings", font);
Boption.setCharacterSize(60);
Boption.setPosition(50, 400);
sf::Text Ttitle1(s, font);
Ttitle1.setCharacterSize(150);
Ttitle1.setPosition(250, 50);
sf::Text Ttitle2("Vault", font);
Ttitle2.setCharacterSize(160);
Ttitle2.setPosition(250, 200);
while (window.isOpen())
{
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
{
Selected++;
std::string s = std::to_string(Selected);
Ttitle1.setString(s);
}
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear(sf::Color::Black);
window.draw(Bplay);
window.draw(Boption);
window.draw(Ttitle1);
window.draw(Ttitle2);
window.display();
}
return 0;
}
所有帮助表示赞赏。
*编辑我试过使用while循环和for循环 –