blondi Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 Siema :rolleyes: ...mam mały problem a w sumie zapytanie. W mojej grze którą aktualnie robie i mam zamiar skończyć tym razem zdarza się że za dużo jest obiektów itd.Ujme to tak załóżmy że zabijam 300 stworów i chce żeby na ziemi zostały ich zwłoki jak i krew ale: po jakimś czasie gra się tnie niesamowicie... da się coś z tym zrobić i czy można zrobić coś takiego że obraz background jak i sprite krwi i zwłok zapisuje jako bmp np jezeli liczba obiektow krwi i ciał dojdzie do 1001i wtedy zamiast normalnego backgrounda wczytywać tego z tą krwią?Chyba że jest inny sposób...pomóżcie... :crying: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 Rysować trupy na surface, więcej nie powiem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
art22pl Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 da się , jeżeli to 2d to możesz przy obiekcie ciała wpisać do alarmu[0] " if instance_number(nazwacial)>100 instance_destroy() alarm[0]=10 " to do alarmu a w create " alarm[0]=10 " może ci pomoże a co do zmiany też można alarmem stwórz alarm [1] sprite_replace czyli zmiana sprita na tego z krwią w create alarm[1]=200 jeżeli to nie pomoże można spróbować bardziej zaawansowanego sposobu ;) albo tak jak Makary155 u góry napisał ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 19 Sierpnia 2009 Autor Udostępnij Opublikowano 19 Sierpnia 2009 hmmm...surface...z tym tak myślałem ale jest mały kłopot...ja nie umiem na surface nic...:( moje stwory mają w alarmie ustawione że znikają starałem się dawać jak najmniej...mam krew jako osobny obiek i trupa tez.mają w alarmach poustawiane tak ok 2000 żeby nie znikały za szybko...bo chodzi mi o to by gra wydoiła nawet na trupach...A jezeli miałbym robić na surface to prosłbym o dużą pomoc... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 to powiem tak: - tworzysz tyle powierzchni (surface), żeby zapełniły całą planszę. można też jedną dużą, ale nie polecam (kiedyś tak zrobiłem i gra mało komu działała). - zamaluj je odpowiednim kolorem, który będzie robił za przeźroczysty ("draw_clear"). - rysujesz powierzchnię co stepa, komendą "draw_surface", czy jakoś. - krew, trupy, itp. rysujesz na odpowiednich powierzchniach tak jak normalnie, na ekran. przed rysowaniem trzeba użyć komendy "surface_set_target", po operacji - "surface_reset_target". - po grze kasujesz powierzchnię ("surface_free"). nie jestem pewien, czy kroki 1 - 3 są poprawne, ale 4 i 5 na pewno są. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 Sorry, że nie na temat, ale też się nie znam na surface'ach i chciałbym zapytać, czy one jakby "optymalizują" rysowanie? Chyba wiecie o co mi chodzi, a pytam bo tak zrozumiałem z waszych odpowiedzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 szybciej jest użyć jednego surface'a zamiast setek obiektów. gorzej z dostosowaniem ich do gównianej pamięci GPU komputerów większości. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 Znaczy ja nie uzywam surface'ów, ale w niektórych przypadkach (jeśl się da) to obiekty zastępuje jednym z długim drawem. Surface byłby lepszy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 to już zależy od użycia draw. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 19 Sierpnia 2009 Autor Udostępnij Opublikowano 19 Sierpnia 2009 Najbardziej zalezy mi na tym ze nawet przy ilosci zalozmy 200 trupow i tylu samych obiektow krwi ktore ma robic surface plus te 'zyjace' nie spowoduje eksplozji w postaci paru fpsow... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 rysowanie surface jest szybsze od 200 obiektów trupów i kolejnych 200 obiektów krwi. ale pamiętaj, że przerabianie surface na sprita jest cholernie wolne, trzeba rysować od razu surface. no i poprawię cię: surface NIE ROBI obiektów. surface jest jak kartka papieru - rysujesz na niej. na surface można narysować np. trupy właśnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 Można i bez surface'a zastąpić 1000 trupów jednym obiektem. Obiekt miały sobie 1000 miejsce w tablicy 2 wymiarowej i zapisane x, y, rodzaj trupa i rysowalby potem na podstawie tablicy to. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 19 Sierpnia 2009 Udostępnij Opublikowano 19 Sierpnia 2009 a jakbyś miał ponad 1000 trupów, trzeba byłoby zacząć usuwać, ale faktycznie, pomysł niezły. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 19 Sierpnia 2009 Autor Udostępnij Opublikowano 19 Sierpnia 2009 O tysiaku to nawet nie mysle.ale ta takica oprucz x i y musialaby tez zapisywac kat tego sprite.i nawet nie mam pojecia jak zrobic to tak w tablicy ze kazdy trup zapisywalby pod tablice ta x y i kat ewentualnie jak tak sie da...a do tego 5 rodzaji przeciwnikow i co za czym idzie 5 rodzaji miesa na ziemi do tego zapisywanie tego i wogole.nie mam bladego pojecia jak to zrobić w ogole.nigdy nie korzystałem z takich patentow...zreszta nigdy nie robilem gry w ktorej przeciwnicy sie wysypuja w takiej ilosci. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 20 Sierpnia 2009 Udostępnij Opublikowano 20 Sierpnia 2009 Nie jestem pewien czy to pomoże, ale możesz zwiększyć prędkość roomu, gra będzie chodziła szybciej(chyba), nie jestem pewien czy to zadziała, ale możesz spróbować. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 20 Sierpnia 2009 Udostępnij Opublikowano 20 Sierpnia 2009 zamiast na tablicach lepiej zrobić to na listach. sprawdź w dokumentacji, korzystanie z nich to banał. robisz sobie np. 4 listy (x, y, kąt i rodzaj flaków), a później gdy ktoś ginie, dodaje odpowiednie wartości do tych list. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 20 Sierpnia 2009 Autor Udostępnij Opublikowano 20 Sierpnia 2009 heh...sam już nie wiem...poczytam poprubuje...póki co zmniejszyłem viewa z 1024*768 na 800*600 i troche przyśpieszyło...dam zaraz screena mniejwięcej co się dzieje na planszy kiedy spada... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 20 Sierpnia 2009 Autor Udostępnij Opublikowano 20 Sierpnia 2009 ech tu macie screena kiedy mi fps spadły dość dyrstycznie w dół...:( nie patrzcie nawet na trupy bo one i tak znikaja po chwili...bo jak nie to wogóle zamiast na 60 fps gra chodziłaby na 6...:/ a z tymi listami mi nie wychodzi a z surface to wogóle nie mam pojęcia jak się za to zabrać...ech:( p.s.sory za doubla... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 20 Sierpnia 2009 Autor Udostępnij Opublikowano 20 Sierpnia 2009 Hura!udalo mi sie zrobic na surface.przeczytalem tut ,usiadlem kombinowalem. I voila!dzieki wam wszystkim za pomoc! 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ę