m97 Opublikowano 2 Czerwca 2012 Udostępnij Opublikowano 2 Czerwca 2012 Witam udało mi się zapisać mapę świata gry do pliku txt. Oto mapa: mapa Mam teraz pytanie: W jaki sposób odczytać fragment tej mapy? Oto funkcje odczytu dll z którego korzystam: kind dll-cdecl function f_text_open(fname:string;mode:real):real function f_text_readline(file_id:real):real function f_text_read_dataleft(file_id:real):real function f_text_read_real(file_id:real):real function f_text_read_word(file_id:real):string function f_text_read_string(file_id:real):string function f_text_writeline(file_id:real;addnewline:real):real function f_text_write_real(file_id:real;real:real):real function f_text_write_word(file_id:real;string:string):real function f_text_write_string(file_id:real;string:string):real function f_text_eof(file_id:real):real function f_text_memoryerror(file_id:real):real function f_text_close(file_id:real):real function f_bin_open(fname:string;mode:real):real function f_bin_read_byte(file_id:real):real function f_bin_read_byte2(file_id:real):real function f_bin_read_byte3(file_id:real):real function f_bin_write_byte(file_id:real;number:real):real function f_bin_write_byte2(file_id:real;number:real):real function f_bin_write_byte3(file_id:real;number:real):real function f_bin_read_chars(file_id:real;number:real):string function f_bin_write_chars(file_id:real;number:real;string:string):real function f_bin_eof(file_id:real):real function f_bin_seek(file_id:real;pos:real):real function f_bin_memoryerror(file_id:real):real function f_bin_close(file_id:real):real function f_gettext():string function f_settext(newtext:string):real function f_cleartext():real function f_readfromfile(fname:string):real function f_writetofile(fname:string;append:real):real function f_deletefile(fname:string):real function f_renamefile(fname:string;newname:string):real function f_copyfile(fname:string;newname:string):real Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 2 Czerwca 2012 Udostępnij Opublikowano 2 Czerwca 2012 Wow, właśnie odkryłem najgorszy sposób zapisu mapy xD Czy obiekty są wyrównywace do siatki? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m97 Opublikowano 2 Czerwca 2012 Autor Udostępnij Opublikowano 2 Czerwca 2012 Jak mam zapisać mapę? Obiekty są wyrównane do siatki 32x32. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 2 Czerwca 2012 Udostępnij Opublikowano 2 Czerwca 2012 Aha, to po pierwsze używaj plików binarnych. A zapis robisz tak samo tylko sprawdzasz co 32 px. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m97 Opublikowano 2 Czerwca 2012 Autor Udostępnij Opublikowano 2 Czerwca 2012 A w jaki sposób odczytać fragment mapy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 2 Czerwca 2012 Udostępnij Opublikowano 2 Czerwca 2012 Tak samo jak zapisałeś, tylko, że podczas odczytu używasz read, a później na wczytanych pozycjach tworzysz obiekty. I tak jak napisał edie, używaj plików binarnych. Zmniejszy to rozmiar pliku mapy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m97 Opublikowano 2 Czerwca 2012 Autor Udostępnij Opublikowano 2 Czerwca 2012 Ale ja chcę wczytać tylko kawałek wielkiej mapy a nie całą od początku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 2 Czerwca 2012 Udostępnij Opublikowano 2 Czerwca 2012 To zapisuj chunkami np po 16x16 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m97 Opublikowano 2 Czerwca 2012 Autor Udostępnij Opublikowano 2 Czerwca 2012 A mogę użyć tej funkcji? f_bin_seek(fileid,pos) - Sets the current reading/writing position of the file. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 2 Czerwca 2012 Udostępnij Opublikowano 2 Czerwca 2012 Jak najbardziej, ale tylko do odczytu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m97 Opublikowano 2 Czerwca 2012 Autor Udostępnij Opublikowano 2 Czerwca 2012 Jak w pliku binarnym rozpocząć nową linijkę? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 2 Czerwca 2012 Udostępnij Opublikowano 2 Czerwca 2012 rolf... Radzę poczytać coś o plikach binarnych. ATWG to zaraz wrzucę przykład ładowania mapy chunkami. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m97 Opublikowano 2 Czerwca 2012 Autor Udostępnij Opublikowano 2 Czerwca 2012 Wygląda na to, że zaczynam to ogarniać. Udało mi się zapisać mapę w pliku binarnym i załadować kawałek do gry. 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ę