Skocz do zawartości

Text z kursorem


Rekomendowane odpowiedzi

Witam. Oto nieskomplikowany przykład z ruchomym kursorem i wpisywanym za nim textem. Creditsow nie dawac. Komentarze moga byc tu zbedne. Enjoy! :)

 

Download:

https://gmclan.org/up1105_11_text_z_kursorem.html

Odnośnik do komentarza
Udostępnij na innych stronach

Troszkę zaspamuje - ale muszę spytać.

 

A jeśli chcę wyświetlić w GM'ie znak "#" (jako młotek - a nie jako enter)...?

 

Podejrzewam coś w rodzaju '#' (jeden cudzysłów)....

 

Co do tematu: Całkiem całkiem. Niestety - nie widzę praktycznego zastosowania. A do nauki się nie nadaje - cóż za "bałagan"...

Odnośnik do komentarza
Udostępnij na innych stronach

Mhm.. no niby wszystko ok, lecz gdybym chciał napisać tą kratkę w okienku normalnie to mi daje tego niby enter-a.. I na dodatek nawet jeśli znaczek kratki robiło by się w oknie do pisania za pomocą \# to przy zapisie on się pozamienia na enter-y..

Odnośnik do komentarza
Udostępnij na innych stronach

A dałoby się jakoś zrobić żeby się normalnie wpisywało a nie robiła nowa linia ?

W jakim sensie "normalnie" ?

EDIT:

Daj do create

GML
laststring = '';

Do draw np. (nie jestem pewien co ja tu napisałem, grunt że działa :D)

GML
if ( keyboard_lastchar = '#' ) and

( keyboard_lastkey <> 13 ) and

( laststring != keyboard_string )

{

keyboard_string = string_copy( keyboard_string, 1, string_length(keyboard_string) - 1 );

keyboard_string += '\#';

}

 

draw_text( 100, 100, keyboard_string );

 

if keyboard_check_pressed( vk_enter )

keyboard_string += '#';

 

laststring = keyboard_string;

O to chodzi ?

Co do tego drugiego to dodaj czcionkę z całym zakresem znaków (Character range)

Odnośnik do komentarza
Udostępnij na innych stronach

No niby fajnie jest teraz.. ale jak cofam strzałkami i chce przesunąć przez te znaczki to tak jakby się rozdzielają, tzn. ten # jakby maskuje za sobą \ więc gdy przejeżdżamy tym kursorem pokazuje się jakbyśmy rozdzielali te znaki..

Iee.. i o co chodzi z tym zakresem znaków? tzn. jak to dodać ? :P

Odnośnik do komentarza
Udostępnij na innych stronach

To napisz taki kod, który będzie sprawdzał czy przed kursorem jest '\#', jeśli jest to o dwie pozycje dalej niech przejdzie, tak samo z kasowaniem znaku. Mi się teraz nie chce kombinować, w dodatku w tym bałaganie PsichiXa :)

 

Co do zakresu:

https://gmclan.org/up541_6_k1.html

Kliknij na "All", a później użyj draw_set_font(nazwa) przed rysowaniem tekstu

Odnośnik do komentarza
Udostępnij na innych stronach

http://www.asciitable.com/

 

PS. Co do 'bałaganu' - ja się w chaosie bardzo dobrze czuje :P

Odnośnik do komentarza
Udostępnij na innych stronach

>.< Nie mam zielonego pojęcia jak to zrobić.. czy takie porównanie jest dobre?

 

GML
if(keyboard_check_pressed(vk_left))

if(text_pos>0)

{

if(keyboard_lastchar = '#' + '\') // o to.. tylko to niestety nie dziala; /

{ // wtedy jak klikam to nie chce przeskakiwac w ogle

text_pos-=1

}

text_pos-=1

_char=string_char_at(text,string_length(text))

text=string_copy(text,1,string_length(text)-1)

_left=text_left

text_left=_char+_left

keyboard_string=text

}

Odnośnik do komentarza
Udostępnij na innych stronach

Mhm.. zrobiłem coś takiego.. ale to też nie chce działać..

GML
if (string_copy(keyboard_string, string_length(keyboard_string) - 1, 2 ) != '\#')

{

text_pos-=1

_char=string_char_at(text,string_length(text))

text=string_copy(text,1,string_length(text)-1)

_left=text_left

text_left=_char+_left

keyboard_string=text

}

if(string_copy(keyboard_string, string_length(keyboard_string) - 1, 2 ) = '\#')

{

text_pos-=2

_char=string_char_at(text,string_length(text)-1)

text=string_copy(text,1,string_length(text)-1)

_left=text_left

text_left=_char+_left

keyboard_string=text

}

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

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ę...