Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 812
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    141

Treść opublikowana przez gnysek

  1. Ten pojazd w 3D urywa jajca, szkoda, ze potem nie ma więcej animowanych elementów, bo naprawdę ładnie to wygląda.
  2. gnysek

    NecroArcher

    Dodane do wishlist
  3. Już nie chciałem na to zwracać uwagi, ale ja też bym zamienił ghost_x z x. Dla kolizji ważniejsza będzie pozycja gdzie jest cień, mniej ważne rysowanie. Ewentualnie przy kolizjach będzie trzeba sprawdzać offset jako wysokość, ale wciąż zamiana tych zmiennych ułatwia całość, bo można skorzystać z wbudowanych kolizji, zamiast rzeźbić własny kod.
  4. A nie wystarczy rysować cienia na pozycji ghost_x i ghost_y ? Z tego co rozumiem, to jest aktualna pozycja granatu "na podłodze", a jego lewitacja jest uzyskiwana przez dodanie offx i offy.
  5. A załączałeś profilowanie w debuggerze? Ono całkiem sporo mówi: I teraz najśmieszniej, bo jak zmieniłem draw_rectangle na draw_sprite, to udało mi się uzyskać 60 FPS, ale to wciąż słabiutko. To by trzeba jakoś zoptymalizować, na zasadzie sprawdzania całych stref gdzie ta mgła jest, a gdzie jej nie ma (np. obszar 128x128px) i wtedy malować za jednym zamachem większe czarne prostokąty. No i nie aktualizować co klatkę wszystkich pozycji. Albo zwiększyć rozdzielczość mgły, żeby nie było aż 8000 komórek na raz na ekranie.
  6. Czym jest cam_cell_width ?? Wygląda trochę, jakbyś może rysował poza ekranem. Nie wiem też czy ma sens ta ciągła zmiana wielkości GUI.
  7. Ja bym zrobił: gpu_set_blendmode(bm_subtract); draw_set_color(c_black); with(objUnit){ draw_circle(x-camera_get_view_x(view_camera[0]),y-camera_get_view_y(view_camera[0]),200,0); } gpu_set_blendmode(bm_normal); Wtedy blend mode nie będzie tyle razy zmieniany.
  8. Dziwne, że przy tylu obiektach laguje, robiłem już testy, gdzie 10000 obiektów daje radę, zresztą dobrym przykładem jest Forager - https://www.yoyogames.com/en/blog/forager-optimization-in-gamemaker
  9. Ale co konkretnie nie działa? Źle się wyświetla? Sprite jest pusty? Wywala jakiś błąd?
  10. W jakim sensie nie działa? Pamiętaj, aby włączyć testowe reklamy, inaczej nie zadziała na teście bez wyplucia pełnej wersji gry (a tam też reklamy nie muszą od razu działać, trzeba paru pobrań od prawdziwych userów).
  11. W Marketplace masz gotowy przykład użycia: https://marketplace.yoyogames.com/assets/10078/google-admob - podstawiasz tylko swoje identyfikatory.
  12. Dlaczego generujesz tyle nowych sprite w locie? Pamięć zapełni się szybko i jest to mega niewydajne, bowiem GM każdy sprite generuje jako osobną teksturę jeśli go tworzysz w grze, do tego trzyma dwie kopie do normalnego rysowania i blendingu, co daje WYSOKOŚĆ * SZEROKOŚĆ * 4 bajty. Obrazek 512x512px to jest 2 MB. Z tego kodu widać też, że faktycznie, nie usuwasz starych sprite'ów, wiec one faktycznie zostają w pamięci - GM nie zwalnia automatycznie zasobów jeśli nie są używane, robi to tylko ze strukturami i z tablicami, resztę trzeba usuwać ręcznie.
  13. Super, jak napisałeś w jednym miejscu, to poczekaj, aż ktoś napisze odpowiedź, nie pisz w drugim...
  14. Nie zapomnij zapisywać surface do bufora, bo jak się włączy wygaszacz, zablokujesz ekran, zmienisz rozdzielczość lub podłączysz monitor, jest duża szansa, że surface pójdzie się... zniknie
  15. Mi to wygląda na... Windows Terminal (nie CMD i nie PowerShell).
  16. gnysek

    Foto-galeria

    20 lecie wypada chyba... 1 listopada, więc imprezę zrobimy jednak nieco szybciej, w jakimś cieplejszym miesiącu (lipiec/sierpień?).
  17. gnysek

    Foto-galeria

    W tym roku jest 20-lecie GMCLANu, także pewnie jakiś najazd na Warszawę zrobimy, ćwiczcie wątroby (Ci, których nie ma na zdjęciu :P).
  18. Bo jak prawidłowo pracujesz z gitem, to takie rzeczy nie są potrzebne
  19. Ok, faktycznie, wygląda, że "git commit -a" robi to samo co "git add -u", a nie to co "git add". Dobrze wiedzieć Ja zwyczajnie wolę zawsze przed commitem sprawdzić co w nim idzie, dlatego bym nigdy nie połączył go z "-a" w żaden sposób.
  20. Zakładam, że teraz pocisk jest rysowany za pomocą lenghtdir, więc prawdopodobnie wystarczy skalować argument length, oraz sam obrazek, bo origin zostaje w tym samym miejscu mimo skalowania (więc wykorzystaj to na swoją korzyść).
  21. Daj w pocisku origin poniżej pocisku, tak jakby miał niewidzialną rekojeść.
  22. Ja korzystam tylko z wizualnej wersji gita w Jetbrainsowych produktach, czasem tylko do tworzenia branchy z terminala daję "git checkout -b nazwabrancha", albo jak trzeba zrobić reset (czego nie potrafie zapamiętać i zawsze kopiuję ze stackoverflow). W sumie do gita za duzo nie trzeba znać, push, fetch, commit i jakoś się żyje
  23. git commit -am zrobi to samo co git add * git commit -m Polecam: https://explainshell.com/explain?cmd=git+commit+-am (chociaż z tamtego opisu akurat nie wynika to co napisałem). No i to akurat nie jest programowanie
  24. Zanim doczytałem post Chella, miałem już w głowie:
×
×
  • Dodaj nową pozycję...