tomasz_76 Opublikowano 9 Maja 2014 Udostępnij Opublikowano 9 Maja 2014 Hej Mam problem z uzyskaniem nazwy dotkniętego obiektu przez dotykający obiekt. Chodzi o to aby obiekt_A w momencie najechania na obiekt_B zwrócił nazwę tegoż obiektu (obiekt_B). oto fragment kodu i komend typu obiect_get_name, sprite_get_name . Może ktoś z Was ma pojęcie jak to ugryźć ?? ----------------------- obiekt_a--(sekcja STEP)------------------------ if(keyboard_check_direct(ord("W"))) then x+=1; if(keyboard_check_direct(ord("Q"))) then x-=1; ID = instance_place(x,y,all); if (ID) > -3 then { ZNAK = 'mam cos'; zm=1; } else { ZNAK='puste pole'; zm=0; } if zm=1 then { str=object_get_name(object_index); stp=sprite_get_name(sprite_index); sti=asset_get_index('A'); ----dotknolem----= --------- i tu jakaś instrukcja która by pobierała nazwę obiektu która dotknąłem obiektem_a } else str='pustka'; --------------------a to wyświetlanie (sekcja DRAW)--------------- draw_text(x,y+66,+'tak - '+string(ZNAK)); draw_text(x,y+80,+'zmienna dotkniecia- '+string(zm)); draw_text(x,y+96,+'jakim obiektem - '+string(str)); draw_text(x,y+112,+'jakim spritem - '+string(stp)); draw_text(x,y+128,+'co dotknolem - '+string(----dotknolem----)); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kriso99 Opublikowano 9 Maja 2014 Udostępnij Opublikowano 9 Maja 2014 dlaczego nie zrobisz tego w evencie collision?! łatwo by to wyszło GML (create) str="" GML (collision) str=object_get_name(other.object_index) GML (draw) if str!="" draw_text(x,y+96,+'jakim obiektem - '+string(str); else draw_text(x,y+96,+"brak kolizii"; str=""//resetowanie zmiennej po wyswietleniu</span></span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 10 Maja 2014 Autor Udostępnij Opublikowano 10 Maja 2014 no tak tez można, tylko ze ja mam duzo obiektow do zbadania i wolałbym to zrobić w jednej sekcji. Twoje rozwiazanie tylko zmienilo sposób napisania kodu i umieszczenia go w różnych częściach programu (create,event collision,draw). Tylko problem dotyczy innej kwestii. Wciągu nie rozwiązało to problemu z pobraniem nazwy a potem wyswietleniem "co dotknąłem" tzn nazwy obiektu bądź sprit-a którego dotknąłem w danym momencie .................. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 10 Maja 2014 Udostępnij Opublikowano 10 Maja 2014 ID.obiekt_index ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 10 Maja 2014 Autor Udostępnij Opublikowano 10 Maja 2014 Hmm niestety to zwraca tylko wartość 1 lub 0 a mnie interesuje nazwa abym mógł rozpoznac nazwe jaki obiekt dotknolem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 10 Maja 2014 Udostępnij Opublikowano 10 Maja 2014 obiekt_index zwraca id z drzewka obiektów a nie 0 lub 1 This read only variable returns the index of the object that the instance has been created from. This is not the same as the object name, which is a string and can be found using object_get_name, as this function returns the index number, which is a unique number that GameMaker: Studio assigns to every object at the time of creation. Nazwa obiektu: GML object_get_name(ID.object_index); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 10 Maja 2014 Autor Udostępnij Opublikowano 10 Maja 2014 Działa, niestety zapomniałem załączyć ID i w tym był "pies pogrzebany" . poprzednio zwracało mi tylko numer który nic mi nie mówił a teraz nazwę :).............. Jednak prawdą jest że najtrudniejsze rozwiązania to tylko kwestia drobnych detali . Bardzo dziękuję za podpowiedź :) 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ę