Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

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:

Opublikowano

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ł ;)

Opublikowano

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...

Opublikowano

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ą.

Opublikowano

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.

Opublikowano

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.

Opublikowano

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...

Opublikowano

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.

Opublikowano

a jakbyś miał ponad 1000 trupów, trzeba byłoby zacząć usuwać, ale faktycznie, pomysł niezły.

Opublikowano

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.

Opublikowano

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ć.

Opublikowano

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.

Opublikowano

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...

Opublikowano

ech tu macie screena kiedy mi fps spadły dość dyrstycznie w dół...:(

screenshot108_1.jpg

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...

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...