1
Bardzo fajny artykuł. Wszystko dobrze opisane, myślę że nie jednemu użytkownikowi się przyda
Już wcześniej się spotkałem z zagnieżdżaniem struktur w jakimś silniku Minecrafto-podobnym ale miałem spore problemy ze zrozumieniem jak to działa, teraz już wiem dzięki
Wadą odwoływania się w kodzie bezpośrednio do referencji jest to, że mimo iż po skasowaniu danego obiektu referencje kolejnych są numerowane dalej, to jednak po zaimportowaniu ponownie resources do nowego projektu, następuje przenumerowanie referencji.
Warto o tym pamiętać bo można się zdziwić po przeprowadzeniu exportu i ponownego importu resources i scripts do nowego projektu.
Wszystko to wiedziałem już wcześniej. Mimo to, fajny artykuł, ładnie napisany i przejrzyście wyjaśniony (ta, powtarzam się) ; )
Nic nowego. Jednakże ciekawi mnie jak to jest w momencie game_end(); ? Czy gdy gra zostanie wyłączona, to nieskasowane przez nas "leaki" same się zwolnią czy może uratuje nas dopiero reset komputera ?
Ależ oczywiście, że jest. Mówimy o instrukcji delete odpowiedzialnej za usuwanie konkretnych elementów z pamięci, która nie istnieje ani w GMie, ani w Javie. Jeśli masz coś innego na myśli, to sorry.
No to ty chyba tego artykułu nie zrozumiałeś... No i w javie masz odpowiednik delete. Tak samo w GM MOŻNA zwalniać zasoby takie jak grafika, dźwieki itp. Ja zaś zapytałem, co w przypadku, gdy tego się nie zrobi, a wyłączy się grę.
GM w czasie wyłączania zwalnia wszelkie załadowane zasoby (choć niektóre DLL-e trzeba zwalniać ręcznie), funkcje zwalniania/ładowania zasobów w czasie gry są po to, żeby odciążyć pamięć i nie przepełniać pamięci wszystkimi grafikami, dźwiękami itd.
System powinien zwolnić obszar chroniony pamięci zarezerwowany przez program.
"No to ty chyba tego artykułu nie zrozumiałeś... No i w javie masz odpowiednik delete. Tak samo w GM MOŻNA zwalniać zasoby takie jak grafika, dźwieki itp. Ja zaś zapytałem, co w przypadku, gdy tego się nie zrobi, a wyłączy się grę."
Weź zamilcz, jeśli twierdzisz, że w Javie mamy operator "delete". Gdyby tak było, zmieniłoby to bardzo oblicze całej ideologii Javy. Widzę, że nie dojdziemy do porozumienia . Czy wiesz na czym polega zwalnianie zasobów w GMie?
Na tym samym co wszędzie -.-. Na usunięciu tego zasobu z pamięci. Nie muszę dochodzić z tobą do porozumienia, skoro inni już odpowiedzieli na moje pytanie, hah!
Gnysek popraw ostatni przykład bo funkcje mają złe nazwy ds_map_value i ds_list_value zapomniałeś o _find_
"Na tym samym co wszędzie -.-. Na usunięciu tego zasobu z pamięci. Nie muszę dochodzić z tobą do porozumienia, skoro inni już odpowiedzieli na moje pytanie, hah!"
W takim razie pragnąłbym zauważyć, że odpowiedziałem na nurtujące cię pytanie pierwszy . Widzisz to, co chcesz widzieć
.
1