tomasz_76 Opublikowano 13 Maja 2014 Udostępnij Opublikowano 13 Maja 2014 Witam ponownie Chciałbym się dowiedzieć jak mogę policzyć ilość spritów na ekranie( planszy). Chodzi mi o to ze mam narysowanych na planszy np. 5 spritów o nazwie spr_guzik_czerwony, i 8 spritów guzik_niebieski itd. itd. Każdemu spritowi przypisany jest obiekt o podobnej nazwie jak np. obj_guzik_czerwony jest spr_guzik_czerwony lub obj_guzik_niebieski spr_guzik_niebieski. Stworzyłem tablice Tablica[x,y,id,nazwa_sprita ] gdzie chciałem zapisać jakieś unikatowe oznaczenia dla każdego sprita lub obiektu jak x,y, id sprita ale niestety nic mi się nie udaje. Nie umiem przypisać konkretnych danych do tablicy aby potem odnaleźć właściwego sprita i ewentualnie go zsumować z innymi podobnymi ( tzn o tej samej nazwie) by w Hudzie napisać Guzików czerwonych jest np. 5 a Niebieskich 8 itd. itd . Może ktoś z Was mi podpowie jak się do tego zabrać. Pozdrowienia Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 13 Maja 2014 Udostępnij Opublikowano 13 Maja 2014 jezeli kazdemu sprite odpowiada jedna instancja(object w roomu) to licz instancje. co do twego przypadku. mozna zrobic roznie, naprz.: - kazdy obj_guzik_cos zapisuje przez event CREATE swe id do obj_control( mozna fajnie uzyc ds_queue_ ) - obj_control potem latwo znajdziei ilosc zapisanych obj_guzik_czerwony lub niebieski. iterujoc(przechodzoc po queue) dostajesz id kazdego obj_guzik_ i mozesz z kazdym robic co potrzebujesz ds_queue, jest tylko jedna z wielu mozliwosci, jak ds_ tak array(tablica) ------- czasami jednak uzywa sie jedna instancja= kilka sprite na roznych miesjcach,lub nakladanych na siebie. tam treba liczic z prawidlowo ilosco wykreslen :) mozna potem uzyc sposob wyzej podany, ale musi byc odpowiednio modifikowany Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 14 Maja 2014 Autor Udostępnij Opublikowano 14 Maja 2014 o.k. Bardzo dziękuję za informacje :)))) zabieram się do tworzenia :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 14 Maja 2014 Autor Udostępnij Opublikowano 14 Maja 2014 Witam ponownie mam znów problem z obiekt kolejka = ds_queue_create(); Utworzyłem kolejkę dla obj_guzik_niebieski przypisałem do tablicy id obiektu oraz stan guzika (wlaczony lub wylaczony) działa wyśmienicie jeżeli naciskam tylko niebieskie guziki. kazde z nich działają niezależne i mogę policzyć sobie ilość włączonych i ilość wyłączonych ale jeżeli dodam komendę ds_queue_create(); do drugiego obiektu np. obj_guzik_czerwony to już żadnych danych nie mogę zapisać w tablicy. Ani dla niebieskich guzików ani dla czerwonych . Dodam tylko ze niebieskie są zapisywane w TABELA[1,kolejka] a czerwone w Tabela [2,kolejka]. Gdy użyje dwóch równocześnie to nic nie da się zapisać. Może ktoś ma pomysł co zmienić lub co dodać aby działało. pozdrowienia Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 14 Maja 2014 Udostępnij Opublikowano 14 Maja 2014 zmienna kolejka przechovuje adres ds_queue dla zmiennej kolejka wazne by dla drugiej kolejki zapisac jej id do nowej zmiennej. jezeli uzyjesz tej samej zmiennej dla nowego ds_queue, stara zmienna jest stracona i tez stare ds_queue :) naprz: GML kolejka_czerwona=ds_queue_create(); kolejka_blekitna=ds_queue_create(); etc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Maja 2014 Administratorzy Udostępnij Opublikowano 14 Maja 2014 Stare ds_queue zostaje w pamięci pod swoim ID tak naprawdę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 14 Maja 2014 Autor Udostępnij Opublikowano 14 Maja 2014 no właśnie tak zrobiłem .. nadałem inne nazwy kolejnym obiektom guzik_czerwony=ds_queue_create(); guzik_niebieski=ds_queue_create(); guzik_żółty_=ds_queue_create(); oczywiście wszystkie to w Create action , ale dalej to samo... zapisuje 1 albo w ogóle albo nadpisuje poprzednie... nie wiem co się dzieje. Stworzyłem nawet osobne tablice dla poszczególnych obiektów tak jak TablicaNiebieska[a,b] tablicaczerwona[a,b] tablicazolta[a,b] i nic... dalej guzik czerwony nadpisuje niebieski albo żółty. Czasami jest dobrze ale to jedna na 5 albo i mniej... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 14 Maja 2014 Udostępnij Opublikowano 14 Maja 2014 Zrób global.guzik_żółty_ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 14 Maja 2014 Autor Udostępnij Opublikowano 14 Maja 2014 tez nie działa.... dalej tak samo ;( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 14 Maja 2014 Udostępnij Opublikowano 14 Maja 2014 Nie mam pojęcia jak dział twój rozum. Jak na razie robisz wszystko na około. Nie możesz użyć instance_number(obj_guzik_niebieski)? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 14 Maja 2014 Autor Udostępnij Opublikowano 14 Maja 2014 ale jak jej użyć.... nie jestem fachowcem a dopiero się uczę przez to tutaj trafiłem.... na razie podążam za sugestiami innych Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 14 Maja 2014 Udostępnij Opublikowano 14 Maja 2014 To zacznij się w końcu uczyć. ;) Wszystko jest w dokumentacji. Przjżyj ją i baw się wszystkim. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 14 Maja 2014 Autor Udostępnij Opublikowano 14 Maja 2014 o.k zobaczę ale już mam powoli desperados Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
M@ILOSZ Opublikowano 15 Maja 2014 Udostępnij Opublikowano 15 Maja 2014 A ty właściwie chcesz tylko policzyć, czy móc się odwołać do konkretnego obiektu? PS: Jeśli Ci obojętne czy liczyć sprity, czy obiekty to liczenie obiektór jest zdecydowanie łatwiejsze. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 15 Maja 2014 Udostępnij Opublikowano 15 Maja 2014 liczenie instancji jest najprostsze, ale chyba chcialesz wiecej. moze sie myle :) mozna sie bavic z wieloma ds_queue, rozwiozanie jest zalezne od twych zamiarow. wygodne jest jesli masz dosyc rozno ilosc blekytnich i czerwonych kolek. naprzyklad mozna przewidziec wtedy z natury programu ze blekytnych mam 10000 ale rzadko sie zmienajo i czerwonych mam kilka dziesotek ale szesto sie zmienajo. wtedy nietrzeba kontrolowac blekytne jesli sie zmieno czerwone. i queue osobne dla kazdego koloru jest wygodne queue jest dosyc szybkie a jesli progam zmiena kolorove kolka losowo a niema wyraznego podialu w licbach kolek to jest inna mozliwosc. chyba raczej pokaze sposob jaki pierwotnie mialem na mysli => tutaj. LMB dodaje nowe kule RMB na kuli, jo nisczi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
tomasz_76 Opublikowano 16 Maja 2014 Autor Udostępnij Opublikowano 16 Maja 2014 Sorki ze taki poślizg ale byłem zajęty. Bardzo dziękuję za przykładzik teraz dzięki niemu mogę nareszcie posunąć moje prace do przodu. Już wiem z czym się je te zapytania :))) Pozdrowienia :)) 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ę