MiChAl200 Opublikowano 8 Stycznia 2012 Udostępnij Opublikowano 8 Stycznia 2012 Jak sprawdzić jakie id ma obiekt, który kliknąłem myszką? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kapcior7 Opublikowano 8 Stycznia 2012 Udostępnij Opublikowano 8 Stycznia 2012 zrob obiekt controler w nim : create GML zmienna=0; draw: GML draw_text(100,100,zmienna); w obiekcie jakims na ktory klikasz: mouse left pressed: GML controler.zmienna=id; o to chodzilo? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kyniu774 Opublikowano 8 Stycznia 2012 Udostępnij Opublikowano 8 Stycznia 2012 skrócona wersja to: GML //MOUSE LEFT BUTTON (na obiekt, którego chcesz sprawdzić id) draw_text(mouse_x,mouse_y,id); E: A no tak w moim przypadku musisz mieć klikniętą myszkę cały czas lub dać w mouse enter :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MiChAl200 Opublikowano 8 Stycznia 2012 Autor Udostępnij Opublikowano 8 Stycznia 2012 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 Więcej opcji udostępniania...
kyniu774 Opublikowano 8 Stycznia 2012 Udostępnij Opublikowano 8 Stycznia 2012 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 Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 8 Stycznia 2012 Administratorzy Udostępnij Opublikowano 8 Stycznia 2012 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 Więcej opcji udostępniania...
MiChAl200 Opublikowano 8 Stycznia 2012 Autor Udostępnij Opublikowano 8 Stycznia 2012 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 Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 8 Stycznia 2012 Administratorzy Udostępnij Opublikowano 8 Stycznia 2012 no bo mouse_x ma wartosć względem roomu, zatem trzeba odjąć to czego z prawej strony już nie widać: GML mouse_x - view_xview[0] - 200 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MiChAl200 Opublikowano 8 Stycznia 2012 Autor Udostępnij Opublikowano 8 Stycznia 2012 Działa, dzięki :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 8 Stycznia 2012 Udostępnij Opublikowano 8 Stycznia 2012 50 div 10 daje nam 5, a 49 div 10 daje 4 (bo zostaje 9 reszty). div przypadkiem nie zaokrągla? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 8 Stycznia 2012 Administratorzy Udostępnij Opublikowano 8 Stycznia 2012 http://mathworld.wolfram.com/IntegerDivision.html Div to dzielenie całkowite, mod to reszta z dzielenia (modulo). Do zaokrąglania to jest round. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę