Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML] zamiana klawisza sf::Input na literę std::string

Ostatnio zmodyfikowano 2012-08-25 21:57
Autor Wiadomość
starter
Temat założony przez niniejszego użytkownika
[SFML] zamiana klawisza sf::Input na literę std::string
» 2012-08-25 21:10:23
Witam,
potrzebuję wczytywać znaki z klawiatury i zapisywać je do zmiennej std::string aby móc je następnie wyświetlić jako sf::String na ekranie. Mam pomysł jak to zrobić ale wymaga on dużej ilości kodu:
C/C++
if( sterowanie.IsKeyDown( sf::Key::Y ) )
     msg_ram =+ "y";
else
{
    if( sterowanie.IsKeyDown( sf::Key::Z ) )
         msg_ram =+ "z";
    else
    {
        .....
    }
}

i w ten sposób cały alfabet dla dużych i małych liter, cyfry, znaki. Ogółem wiele, wiele linijek kodu.

Pytanie: czy jest na to inny sposób? Jeśli tak to jaki?
P-63590
waxx
» 2012-08-25 21:17:25
Mozesz przechwycic event:

C/C++
if( Event.Type == sf::Event::TextEntered )
{
    msg_ram += static_cast < char >( Event.Text.Unicode );
}
P-63593
starter
Temat założony przez niniejszego użytkownika
» 2012-08-25 21:19:30
to będzie działać tak jak moja metoda?
litera wciśnięta od razu zostanie zapisana do zmiennej?
przeczyta enter?
P-63595
Mrovqa
» 2012-08-25 21:21:49
Spójrz tu:
http://www.sfml-dev.org/documentation/1.5/namespacesf_1_1Key.php
Na literach/cyfrach możesz operować podobnie jak na kodzie ASCII ;)

/edit: ehh... 2 wiadomości poprzedziły mojego posta ;P
P-63598
waxx
» 2012-08-25 21:57:05
tak przeczyta enter
zawsze mozesz zrobic ifa ze jak znak bedzie jakims enterem albo backspacem to zeby nie dodawalo (sprawdz po tablicy ascii)
P-63601
« 1 »
  Strona 1 z 1