[SFML 2.1] Znak zapytania (nieznany znak) po kasowaniu stringa
Ostatnio zmodyfikowano 2014-01-28 12:39
DzieckoBezZycia Temat założony przez niniejszego użytkownika |
[SFML 2.1] Znak zapytania (nieznany znak) po kasowaniu stringa » 2014-01-27 19:40:26 Siema! Chciałem zrobić text boxa, ale: sf::Event eventS; while( windowS.pollEvent( eventS ) ) { if( eventS.type == sf::Event::KeyPressed ) { if( eventS.key.code == sf::Keyboard::BackSpace ) { textt = " "; } } else if( eventS.type == sf::Event::TextEntered ) { if( textt == "Podaj nazwe." ) { textt = " "; } if( eventS.text.unicode < 128 && textt.size() <= 20 ) textt = textt + static_cast < char >( eventS.text.unicode ); }
po nacisnieciu backspace pojawia mi sie kwadrat z nawiasem w srodku, ktorego nie da sie usunac. Dlaczego tak się dzieje. Z góry dziękuję. |
|
DzieckoBezZycia Temat założony przez niniejszego użytkownika |
» 2014-01-28 12:39:54 fixed. Backspace jest lapany jako TextEntered i nie tylko on. Skorzystalem z tabeli znakow ASCII i przefiltrowalem TextEntered tak, aby byly tylko litery i inne właściwe znaki. Poprawny kod: if (eventS.type == sf::Event::KeyPressed) { if(eventS.key.code == sf::Keyboard::BackSpace && textt.size()>0 ) { textt.erase( textt.size( ) - 1 ); }
}
else if (eventS.type == sf::Event::TextEntered) { if(textt=="Podaj nazwe.") { textt=" "; }
if (eventS.text.unicode > 31 && eventS.text.unicode < 126 && textt.size()<=20) textt = textt + static_cast<char>(eventS.text.unicode) ; }
Temat do zamkniecia. Pozdro. ;p |
|
« 1 » |