Skocz do zawartości

klikanie na tekst -> wykonanie akcji


Lidzet

Rekomendowane odpowiedzi

1.Pierwsze pytanko. Mam tekst. Wpisuje np. draw_test(x,y,blablalbla). Co zrobić żeby po kliknięciu myszką na tekst wykonywała się jakaś akcja?

 

2.Mamy dajmy na to, pokój w grze, gdzie chcemy coś wpisać. Daje w codzie: draw_text(x,y,keyboard_string). Jakiego codu użyć, żeby ustalić limit znaków możliwych do wpisania? Z góry dziękuje.

 

I czy da się jakoś ograniczyć czas, przy wyszukiwaniu odpowiedniej wartości x i y do napisu? Bo fajnie by było gdyby text wyświetlał się tam, gdzie umieszczony jest obj. w roomie.

Odnośnik do komentarza
Udostępnij na innych stronach

1. Sprawdzasz pozycję myszki

GML
draw_text(10,10,'heheheh');

if mouse_x>10 && mouse_y>10 && mouse_x<50 && mouse_y<20 && mouse_check_button_pressed(mb_left)

{

//akcja

}

2. Dokumentacja:

string_length(str)

Zwraca ilość znaków w str.

GML
maxdlugosc=10;

if string_length(keyboard_string)>maxdlugosc

{

show_message('Za dlugi string');

keyboard_string='';

}

I czy da się jakoś ograniczyć czas, przy wyszukiwaniu odpowiedniej wartości x i y do napisu? Bo fajnie by było gdyby text wyświetlał się tam, gdzie umieszczony jest obj. w roomie.

Dajesz w draw objektu

GML
draw_text(x,y,'twoj tekst');
i działa ;P

x i y są zmiennymi, które posiada KAŻDY objekt. x odpowiada osi poziomej, a y oczywiście osi pionowej.

Odnośnik do komentarza
Udostępnij na innych stronach

mouse_x to pozycja X myszki, a mouse_y to pozycja Y myszki.

GML
if mouse_x>10 && mouse_y>10 && mouse_x<50 && mouse_y<20 && mouse_check_button_pressed(mb_left)

jeżeli pozycja myszki X jest większa od 10 ORAZ pozycja myszki Y jest większa od 10 ORAZ pozycja myszki X jest mniejsza od 50 ORAZ pozycja myszki Y jest mniejsza od 20 ORAZ czy wciśnięto lewy przycisk myszy

Odnośnik do komentarza
Udostępnij na innych stronach

GML
s='Magiczny napis!'

xx=20

yy=15

draw_sprite(xx,yy,s)

if(mouse_x>xx and mouse_x<xx+string_width(s) and mouse_y>yy and mouse_y<yy+string_height(s) and mouse_check_button_pressed(mb_left))

{

show_message('Kliknięto!')

}

 

ZyperPL usuń ten post bo aż boli mnie głowa.

Odnośnik do komentarza
Udostępnij na innych stronach

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