Silnik gier: pola tekstowe — imię gracza wpisane w grze
Silnik gier 2D Moonlight Studio dostał pierwszy element interfejsu, w który można pisać: pole tekstowe LineEdit. Imię bohatera, komenda do konsoli, hasło do skrzyni — wszystko wpisywane bezpośrednio w grze.
Jak działa
- Klik = fokus. Kliknięcie w pole zaczyna wpisywanie (w scenie tylko jedno pole naraz ma fokus), pojawia się karetka. Klik poza polem albo Escape kończy edycję.
- Enter zatwierdza — pole wysyła sygnał
text_submittedz wpisaną treścią, więc skrypt albo graf zdarzeń reaguje jedną regułą. Każda zmiana treści emitujetext_changed. - Skrypt czyta pole jedną linijką:
mp.get(pole, 'text')— treść jest lustrzana na tablicy węzła, również od razu po wczytaniu sceny z pliku. - Placeholder — szara podpowiedź („Wpisz imię…"), gdy pole jest puste.
Poprawnie z polskimi znakami
Wpisywanie idzie przez prawdziwe zdarzenia tekstowe systemu, nie przez kody klawiszy — więc „ą" czy „ż" trafiają do pola jako poprawne UTF-8. Backspace kasuje cały znak, nie pół bajta; limit długości pola nigdy nie ucina litery w środku. Tekst i karetka są przycinane do krawędzi pola — nic nie wyjeżdża poza tło.
W oknie Play skróty edytora są automatycznie wyłączane, póki pole ma fokus — litery lądują w polu, a nie uruchamiają narzędzi.
Co dalej
Zaznaczanie, schowek i kursor strzałkami przyjdą w kolejnej wersji, a zaraz po polu tekstowym — etykieta z formatowanym tekstem do okien dialogowych.