При нажатии enter счетчик int am увеличивается на 1 ;
Должно быть 1 нажатие = один раз +1 но получается +x
почему?
Может быть, проблема со временем? Как исправить?
вот основной цикл
while (window.isOpen())
{
Event event;
while (window.pollEvent(event))
{
if(event.type == Event::Closed)
window.close();
else
if(event.type == Event::TextEntered){
if(event.text.unicode>=48 && event.text.unicode<=57){
temps+=static_cast<char>(event.text.unicode);
text2.setString(temps);
}
}
}
if (Keyboard::isKeyPressed(Keyboard::Return)){/// счетчик нажатий
//mas[am]=stoi(temps);
am++;
cout<<am;
temps="";
text2.setString(temps);
}
/*if (Keyboard::isKeyPressed(Keyboard::BackSpace)){
int amount=temps.size();
if(amount)temps[amount-1]=NULL;
text2.setString(temps);
continue;
}*/
window.clear();
//window.draw(shape);
window.draw(text1);
window.draw(text2);
window.display();
}
так попробуйте:
bool flag = true;
if (Keyboard::isKeyPressed(Keyboard::Return)) {
if (flag) {
mas[am]=stoi(temps);
am++;
cout<<am;
temps="";
text2.setString(temps);
flag = false;
}
} else {
flag = true;
}
Нашел еще... можно использовать KeyReleased в лупе событий те будет считать не когда клавиша зажата а когда отпущена
if (event.type == sf::Event::KeyReleased){
if (event.key.code == sf::Keyboard::Return){
am++;
cout<<am;
temps="";
text2.setString(temps);
}
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Здравствуйте, помогите решить данную задачуУ меня получилось только для 6 элементов массива, а при 10 уже не получается
Приложение на андроидЕсть квадратная кнопка,на кнопку установлено изображение,при нажатии на неё поверх изображения появляется текст,как...
Как правильно логировать тесты? Можно ли в лог вывести прошел тест или не прошел? И как это сделать? Нашел вот такое