Skocz do zawartości

m97

Użytkownicy
  • Postów

    147
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez m97

  1. 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ć.
  2. Tak zrobiłem, ale dezaktywacja przestaje pomagać przy 31000 obiektów. One nadal istnieją w grze chociaż są dezaktywowane co spowalnia grę. Czyli w końcu lepiej robić na obiektach czy nie?
  3. 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?
  4. A co z kolizjami , z graczem i bloczkami obdarzonymi grawitacją? Czy gracz też nie ma być obiektem?
  5. Prosty generator terenu mam. W 2 chodzi, że zapisanie takiej ilości bloczków pochłonie mnóstwo miejsca na dysku, ponieważ każdy bloczek zajmuje 1 bajt miejsca.
  6. 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?
  7. Witam mam dwa roomy jeden to room ładowania gry a drugi to room, w którym toczy się gra. Mój problem polega na tym, że chcę tworzyć obiekty w roomie gry będąc cały czas w roomie ładowania. Jak to zrobić?
  8. Już udało mi się naprawić. Błąd występował podczas zapisu do grid. Wpisywało wartości w złe komórki.
  9. 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.
  10. Wygląda na to, że zaczynam to ogarniać. Udało mi się zapisać mapę w pliku binarnym i załadować kawałek do gry.
  11. Jak w pliku binarnym rozpocząć nową linijkę?
  12. A mogę użyć tej funkcji? f_bin_seek(fileid,pos) - Sets the current reading/writing position of the file.
  13. Ale ja chcę wczytać tylko kawałek wielkiej mapy a nie całą od początku.
  14. A w jaki sposób odczytać fragment mapy?
  15. Jak mam zapisać mapę? Obiekty są wyrównane do siatki 32x32.
  16. 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
  17. A co to jest 39 dll? Przepraszam, że pytam, ale dopiero poznaję dll. Do tej pory korzystałem tylko z funkcji game markera.
  18. Visuala też mam tylko kiedyś próbowałem odpalić skompilowany program na innym komputerze i brakowało bibliotek dll visuala. Natomiast po skompilowaniu w dev c++ chodziło na innych komputerach. Znalazłem takiego dll. dll Czy byłby on dobry do odczytywania i zapisu mapy?
  19. Zrobiłem tak jak w poradniku i wyskakuje mi error1 podczas kompilowania w dev c++.
  20. W jaki sposób stworzyć dll w c++?
  21. Ale zrobić to za pomocą dll czy funkcji game markera?
  22. Czyli do ładowania mapy mam używać dll? Znam c++ czy mogę wczytywać za pomocą biblioteki fstream? A gdyby każdy fragment miał osobny plik byłoby szybciej?
  23. Tak mam Game Marker 8.1. Czy to znaczy, że nie mogę używać etheru?
  24. Próbowałem zainitzializować ether, ale wyskakuje mi taki błąd:
×
×
  • Dodaj nową pozycję...