Skocz do zawartości

Sprawdzenie obiektu myszką


MiChAl200

Rekomendowane odpowiedzi

Albo inaczej, bo tamto nie za bardzo i pomogło.

Jest tablica, która ma 10 argumentów (nie wiem czy tak się mówi, po prostu tablica od tablica[1] do tablica[6]) i w każdej tablicy jest przypisany obiekt "obj_slot". I chcę, żeby po naciśnięciu na któryś z "obj_slot" sprawdzało, która to tablica.

Da się?

Odnośnik do komentarza
Udostępnij na innych stronach

Na pętli for:

 

w global mouse released/pressed w tym co tworzy przyciski

GML
for(i=0;i<ilość slotów;i+=1)

if collision_point(mouse_x,mouse_y,obj_slot,1,1) and i=obj_slot.tab[i(numer przycisku)]

kliknięty=1;

 

Coś źle.. ja się na obiektach nie męczę, lepiej, żebyś malował wszystko, ale twoja wola.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Jak sloty są równo ułożone, to wystarczy opera dzielenia całkowitego (div).

 

Np. 50 div 10 daje nam 5, a 49 div 10 daje 4 (bo zostaje 9 reszty). W ten sposób dostajesz numer indeksu tablicy.

 

Btw. rozmiar tablicy[0...6] to 7 elementów, a nie 10 :)

 

 

Zakładając, że pierwszy slot ma X (albo Y, zależy czy pionowo czy poziomo) na pozycji 200, a kazdy slot ma 40 pikseli:

 

GML
var _slot;

_slot = min(6, max(0, (mouse_x - 200) div 40));

 

To jest już kod z wszystkimi zabezpieczeniami wychodzenia poza zakres 0 - 6, bo uproszczona wersja to po prostu

 

GML
var _slot;

_slot = (mouse_x - 200) div 40;

Odnośnik do komentarza
Udostępnij na innych stronach

No działa, ale ten pasek ze slotami, ma jechać za bohaterem.

Przedtem robiłem inną wersję tego paska i robiłem za pomocą viewów, ale i tak jak przewinął się ekran nie o pełne 32 pixeli (tyle ma slot), to się psuło.

Zaokrąglałem viewy z divami, ale to działało tylko jak ekran był równo przesunięty o co 32 pix, o 64 pix itp. jak np. inaczej to przesunięte miejsca klikalne.

Zrozumieliście z tego co napisałem, bo jakoś pokręcone mi wyszło ? :P

 

E: Bo to co napisał Gnysek działa, ale dopóki nie przewinę ekranu.

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