cysior Opublikowano 9 Października 2012 Udostępnij Opublikowano 9 Października 2012 Witam! Od jakiegoś czasu w wolnych chwilach tworzę pewien projekt i mam takie pytanie, jak według was najwydajniej rysować spr 32x32, ktore są czasem rysowane na jednej pozycji ( przykładowo jakis spr tarczy, a nad nią mieczyk ). Chodzi mi o takie dynamiczne rysowanie i usuwanie. Powiedzmy, że mam tablice dwuwymiarowe, które zawierają informację o itemach na danej kratce. np. tablica[1,1]="1024,1025," Z góry dzięki za pomoc. E: co do skupiska itemów to powiedzmy ze jak view ma około 500 kratek, to fajnie by było jakby dało się normalnie rysować itemki na tych 50-100 kratkach. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 9 Października 2012 Udostępnij Opublikowano 9 Października 2012 A czy te itemki nachodzące na siebie są 2 różnymi obiektami czy to tylko sprity. Bo jak są obiektami to możesz zrobić coś takiego: 1. Leży sobie miecz 2. Tarcza się pojawia na tej samej pozycji ale widząc że jest już zajęta, nakazuje deaktywować obiekt leżący niżej. Zapisuje sobie do jakiejś zmiennej zdeaktywowany obiekt. 3. Gdy tarcza zostaje podniesiona to aktywuje ten obiekt, który sobie zapisała w zmiennej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
cysior Opublikowano 9 Października 2012 Autor Udostępnij Opublikowano 9 Października 2012 @up chodzi mi bardzej o coś takiego A jak miałeś to na myśli to wybacz. I tu pojawia się moje pytanie czy lepiej to robić w jednym obj czy tworzyć objekty. Bo kiedyś miałem kod, który sprawdzał kazda kratkę i jak coś znalazł to sprawdzał czy jest tam kilka itemów a potem dzielił i rysował. Niestety fps widocznie spadały. Wpadłem na taki pomysł GML var sta,dod,dabs; for(n=0;n<100;n+=1) for(m=0;m<100;m+=1) { pomoc=string_delete(global.map0[n,m],1,string_pos("@",global.map0[n,m])) // pomoc to id itemów na danej kratce np. = " 1024,1030," if string_length(pomoc)>0 { for(g=1;g<=string_count(",",pomoc);g+=1) { pomoc2[g]=string_copy(pomoc,-5+5*g+1,5) global.pselist[n,m]+=pomoc2[g] jakto[g]=string_copy(global.pselist[n,m],1+(-5+5*g),5) ii=instance_create(32*n,32*m,obj_item) ii.sprite_index=sk_itespr(jakto[g]) } } } Tylko za bardzo nie wiem jak zrobić żeby na kratkach których wartość stringu nie uległa zmianie, nic nie robić a na tych drugich zrobić nowy item i usunać stary. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 9 Października 2012 Udostępnij Opublikowano 9 Października 2012 A jak miałeś to na myśli to wybacz. Tak miałem to na myśli. 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ę