Skocz do zawartości

Zablokowane Problem z planszami


Will

Rekomendowane odpowiedzi

Mam pytanie. Mianowicie jeśli mam dajmy na to 10 roomów. I kiedy przechodzę z 1 do drugiego to chciałbym aby pierwszy przestał istnieć i zaśmiecać pamięć.(nie ma powrotów, kiedy się opuści room już jest kompletnie nie przydatny i chce się go pozbyć) Jeśli gdzieś to było to sory. Szukałem ale nie znalazłem.

Odnośnik do komentarza
Udostępnij na innych stronach

Bóg wie jak GM zareaguje gdy wykonasz te funkcje dla aktualnie aktywnego rooma, dlatego lepiej było by gdyby były one używane gdy określony room nie jest już aktywny. =)

 

Czyli po przejściu do następnego rooma.

Odnośnik do komentarza
Udostępnij na innych stronach

Raczej nie. Wydaje mi się że w GM jest jeden globalny room, do którego są ładowane inne roomy - tutaj rozumiem jako room cały komplet danych odnośnie obiektów i ich podstawowej konfiguracji ( np. pozycja ), tile i sama konfiguracja danych - więc gdy przechodzimy do innego rooma to globalny jest czyszczony i ładowane dane/konfiguracja innego.

 

Imo wygląda to nawet sensownie, nie? :) Po za tym, komu opłacało by się opłacało robić inaczej?

 

A w takim wypadku room_instance_clear i room_tile_clear czyszczą informacje przechowywane o roomie, więc zwalniają i pamięć.

 

Po za tym, można by napisać wydajniejszy system na plikach. Odciążyło by to pamięć, gra ładowała by się szybciej etc. etc. :)

Odnośnik do komentarza
Udostępnij na innych stronach

Robiąc to zyskałem kilka fps. 2 czy 3 ale zawsze coś xD A tak zadam nowe pytanie nie będe zakładał nowego tematu. Czy w gm spokojnie można zrobić grę która ma z 100 plansz czy tylko mini gierki? . Nie chodzi mi o jakąś grę w węża tylko coś już na prawdę zaawansowanego (2d np: strategia lub shooter) . I oczywiście będzie można w nią spokojnie grac bez lagów.

Odnośnik do komentarza
Udostępnij na innych stronach

Można, choć to naprawdę zależy od stopnia zaawansowania projektu. Prostą strategię napiszesz, shootera też. Ale będziesz musiał się nauczyć optymalizować kod, a to łatwą sprawą nie jest. =) Do tego od samego startu musisz zacząć zastępować niewydajne funkcje GMa własnymi + optymalizacja. :P

 

No i trudno powiedzieć czy będzie lagów podczas gry w sieci, to też zależy od tego jak napiszesz silnik sieciowy.

 

EDIT

baca, wymowna odpowiedź. Przeczytaj jeszcze raz regulamin. =)

Odnośnik do komentarza
Udostępnij na innych stronach

Chce zrobić shootera ale nie online xD Piszesz o optymalizacji. Chętnie bym sobie poczytał o tym optymalizowaniu kodu. Jakbyś mógł podać jakiś link do instrukcji tego to byłbym wdzięczny. Nawet jakby to miało z 200 stron to chętnie poczytam ;P ( i jeszcze jedno pytanie jak zrobić żeby dodać jakąś ilość obiektów do tych, które po collision z pociskiem niszczą go)

Odnośnik do komentarza
Udostępnij na innych stronach

Będe bardzo wdzięczny jeśli byś napisał ^^ A chodzi o to, że mam około 40 obiektów a nie chce dawać że po zderzeniu z odpowiednim obiektem pocisk znika. Mam takich obiektów z 20 po zderzeniu z nimi pocisk znika ale mam to zrobione poprzez przyciski a chciałbym jakiś skrypt gdzie mógłbym dodawać kolejne obiekty, była by to duża oszczędność mając na uwadze, że takich obiektów będzie kilka set ^^

Odnośnik do komentarza
Udostępnij na innych stronach

Chodzi o to, że jak strzelam to pocisk lecąc i trafia np: w drzewo i znika i chce żeby jakoś uprościć to jakimś skryptem, że np: jeśli pocisk trafi w dom to również znika i zrobić taką listę obiektów(gdzie pocisk uderzając znika), bo teraz muszę każdy taki obiekt dodawać klockami. A chciałbym jakiś skrypt gdzie wpisze wszystkie te obiekty.

Odnośnik do komentarza
Udostępnij na innych stronach

To możesz wrzucić jeden obiekt o jakiejś kwadratowej masce np. 16x16px i ustawiać je w miejscach gdzie pocisk powinien zostać zniszczony i dla niego ustawić wykrywanie kolizji z pociskiem. Możesz też sprawdzać kolizję dla rodzica wszystkich tych obiektów z którymi ma być wykrywana kolizja. =)

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...