Всем привет, в моём проекте sfml используется ввод текста в текстовое поле. По умолчанию такой функции нет в sfml, но я поискал в интернете и нашёл способ (код ниже). Вообщем спрашивал у людей, которые использовали тот же способ - у них все нормально, а у меня текст появляется с очень большой задержкой, приходится выжимать кнопку несколько секунд чтобы текст появился.
Вот код на c++ & sfml:
sf::Event event;
while (this->window->pollEvent(event))
{
if (event.type == sf::Event::TextEntered)
{
if (event.text.unicode < 128)
{
if (event.text.unicode == 13) // return key
{
// finished entering name
}
else if (event.text.unicode == 8) { // backspace
if (name.size() > 0) name.resize(name.size() - 1);
}
else {
name += static_cast<char>(event.text.unicode);
}
text.setString(name);
}
}
}
Если кто то сталкивался с подобной проблемой, напишите как ее решили. Заранее спасибо.
Вот, я так обновление сделал в цикле, и всё летает, так что проблема как говорилось выше в моменте отображения текста на экран.
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
if (event.type == sf::Event::TextEntered)
{
if (event.text.unicode < 128)
{
if (event.text.unicode == 13) // return key
{
// finished entering name
}
else if (event.text.unicode == 8) { // backspace
if (name.size() > 0) {
name.resize(name.size() - 1);
text.setString(name);
}
}
else {
name += static_cast<char>(event.text.unicode);
}
text.setString(name);
text.setPosition(20, 100);
}
}
}
window.clear();
window.draw(text);
window.display();
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть задание: Динамически выделить память под N*M элементов целого типа intРазработать алгоритм и программу обработки двумерного динамического...
По определённым причинам имеется необходимость реализовать собственный итератор (Forward iterator) здесь сказано следующее: