m97 Opublikowano 15 Czerwca 2012 Udostępnij Opublikowano 15 Czerwca 2012 Witam, robię wczytywanie pliku z mapy, obecnie kiedy próbuję wczytać mapę z grid gra się zacina. Oto kod: Tworzę grid: GML globalvar id_mapy_obiektow; id_mapy_obiektow = ds_grid_create(250,125) Wczytuję dane z pliku do grid: GML //show_message("Ładowanie chunka"+ string(argument0)) var f; f = f_bin_open("mapa.dat",1); if(argument0 > 0){ poczatek_ladowania = (argument0*627) - 627 } else{ poczatek_ladowania = 0 } koniec_ladowania = (argument0 *627)+627 var x_; var y_; f_bin_seek(f,poczatek_ladowania); for(c = 3;c > 0;c -= 1){ x_ = f_bin_read_byte(f); y_ = f_bin_read_byte(f); if not(ds_map_find_value(id_mapy_chunk,argument0 + c-2) = true){ for(a = 0;a < 25;a += 1){ if(fps > 28){ for(b = 0;b < 25;b += 1){ g = f_bin_read_byte(f) ds_grid_set(id_mapy_obiektow,x_+b,y_+a,g) /*if(g < 255){ show_debug_message(g) instance_create(x_*25*32+b*32,y_*25*32+a*32,g) }*/ /*if(g < 255){ tworzenie_chunk(x_,y_,g) }*/ } } b = 0 } } a = 0 tworzenie_chunk(x_,y_) } ds_map_add(id_mapy_chunk,argument0,true) ds_map_add(id_mapy_chunk,argument0-1,true) ds_map_add(id_mapy_chunk,argument0+1,true) Tworzę chunk: GML b = 0 a = 0 //show_message("tworzenie chunk") for(a = 0;a < 25;a += 1){ for(b = 0;b < 25;b += 1){ g = ds_grid_get(id_mapy_obiektow,argument0*25+b,argument1*25+a) show_message(g) if(g < 255){ //show_message("tworzenie chunk") instance_create(argument0*25*32+b*32,argument1*25*32+a*32,g) } } b = 0 } a = 0 /*var x_; var y_; x_ = if(argument3 < 255){ instance_create(argument0*25*32+b*32,argument1*25*32+a*32,argument2) }</span> W tym kodzie musi być gdzieś błąd, ale nie mogę go znaleźć. Dodam, że jeśli tworzyłem mapę zaraz po wczytaniu z ominięciem grid i funkcji tworzącej mapę z grid wszystko działało. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 15 Czerwca 2012 Udostępnij Opublikowano 15 Czerwca 2012 Może dla tego że zerujesz 'b' i tworzysz nie skończoną pętle... EDIT: źle. Może wychodzisz poza plik, sprawdź czy ostatnia pozycja z jakiej czyta nie jest większa od wielkości pliku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m97 Opublikowano 15 Czerwca 2012 Autor Udostępnij Opublikowano 15 Czerwca 2012 Już udało mi się naprawić. Błąd występował podczas zapisu do grid. Wpisywało wartości w złe komórki. 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ę