Skocz do zawartości

Lista problemów, których nie umiem rozwiązać


m97

Rekomendowane odpowiedzi

Witam, od dłuższego czasu robię sandboxową grę i po drodze napotkałem na problemy, których nie potrafię rozwiązać. Są one głównie związane z optymalizacją. Oto one:

1. Oświetlenie, najprościej byłoby rysować półprzezroczysty czarny prostokąt na grafice bloczka, jednak funkcje draw są powolne.

2. Zapis mapy, Pomimo, że na zapisanie jednego bloczka wystarcza mi jeden bajt w przyszłości mapy będą zawierały do 100 000 000 bloczków. Wielkość mapy będzie wynosiła wtedy około 100 megabajtów. Czy można zapisywać mapę jakoś tak, żeby zajmowała mniej miejsca?

Odnośnik do komentarza
Udostępnij na innych stronach

Bloczki z grawitacją?

GML
if(mapa[xbloczka,ybloczka + 1]=0 //0 to puste miejsce

{

mapa[xbloczka,ybloczka]=0;

mapa[xbloczka,ybloczka+1]=2;//uznajmy ze 2 to id tego bloczka

}

A kolizje to jak masz ruch gracza

GML
//w lewo

if(mapa[xgracz - 1, ygracz]=0) //gdzie xgracz i ygracz to wspolrzedne na mapie(wiesz o co chodzi)

{

mapa[xgracz,ygracz]=0;

mapa[xgracz-1,ygracz]=10;//10 to id gracza

}

 

Kombinuj :P

Odnośnik do komentarza
Udostępnij na innych stronach

Tablice tak, ale czy gridy też? Co do twojego kodu spadania taki bloczek nie będzie płynnie się przemieszczał tylko przeskakiwał na pozycję 32 piksele niżej. Niektóre bloczki muszą przechowywać niektóre wartości. Na przykład piasek prędkość. A skrzynia zawarte w niej przedmioty. Co więc zrobić z takimi obiektami? Rośliny mają alarmy, które pozwalają im rosnąć, jeśli przestaną być obiektami jak sprawić

aby nadal rosły?

Odnośnik do komentarza
Udostępnij na innych stronach

Zacząłem już tak robić, ale mam problem. Dlaczego ten kod nie działa:

GML
a = f_bin_open("domyślny_świat\pozycja_gracza.dat",1);

Kiedy wczytywałem z tego samego folderu gdzie była gra wszystko działało, ale kiedy umieściłem plik w folderze i podałem jego nazwę przestało działać.

Odnośnik do komentarza
Udostępnij na innych stronach

Zacząłem już tak robić, ale mam problem. Dlaczego ten kod nie działa:

GML
a = f_bin_open("domyślny_świat\pozycja_gracza.dat",1);

Kiedy wczytywałem z tego samego folderu gdzie była gra wszystko działało, ale kiedy umieściłem plik w folderze i podałem jego nazwę przestało działać.

Może wywal polskie znaki i/lub zmień \ na /.

Odnośnik do komentarza
Udostępnij na innych stronach

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