Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Mam poniższy kod:

 

draw_set_halign(fa_center);
draw_text_ext(x,y,global.local_question,string_height("ĄŹ"),870);
draw_set_halign(fa_left);

 

Global.local_question to na początku pusty string i dodaję do niego kolejną literę co chwilkę, aż będzie się zgadzał z inną zmienną. To działa poprawnie - tekst wyświetla się litera po literze. Ale ponieważ go centruję, to rozjeżdża się na boki. Zaczyna od jednej litery w centrum i z każdą kolejną robi się coraz dłuższy. A chciałbym, żeby pierwsza litera wyświetlała się już w tym samym miejscu co końcowy string. Ale nie mogę wpaść na pomysł, jak to dobrze zrobić...

 

Z góry dzięki za pomoc.

Opublikowano

draw_set_halign(fa_left) // wypisuje od lewej, nie będzie rozjeżdżania 


ewentualnie

var _offset = string_width(Global.local_question)/2 //pobierz szerokość wypisanego tekstu
draw_set_halign(fa_center)
draw_text(x + _offset, y, Global.local_question);

 

  • Administratorzy
Opublikowano

Jak rozumiem, chcesz wycentrowany tekst, ale chcesz też, aby wyświetlał się tak, jakby brakujące litery były nieczytelne.

 

To w sumie nie jest takie trudne, trzeba pobrać szerokość pełnego tekstu, podzielić go na dwa (czyli wziąć połowę) i zacząć rysować tekst wyrównany do lewej, na pozycji gdzie ma być środek, minus właśnie ta połowa. Czyli np.:

 

var w = string_width(pelny_tekst);

draw_set_halign(fa_left);
draw_text(x - w/2, y, krotszy_tekst);

 

image.png

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...