Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 812
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    141

Treść opublikowana przez gnysek

  1. Nie wiem jakie błędy masz na myśli. Ale jeśli pokażesz mi jedna grę która źle działała w GMS a dobrze działa na Enigmie i łatwiej ją sprtowac na Enigmie odszczekam swoje żarty z tego tematu
  2. Przypomnę, że piszesz o programie który wyszedł 5 lat temu, a styczeń to w sumie 4 lata od bety 2.0...
  3. Mi to wygląda na odkrywanie ścian w promieniu "r" od gracza, czyli w idealnym kole.
  4. Ewntualnie coś w stylu (ale spróbuj to na kopii, zacznij od samego selecta, czy jest dobry) DELETE FROM images WHERE image_id IN ( SELECT * FROM (SELECT image_id FROM images ORDER BY id_image GROUP BY id_product LIMIT 0,10000000) AS p); Limit trzeba dodać dla nowszych SQLi i MariaDB, bo jakiś tam config bazy (już nie pamiętam) pomija sortowanie przy group by, a z limitem je uwzględnia
  5. Jak się już przełączę na Windowsa, to na pewno spróbuję, bo Battle City to jest moja bodaj pierwsza gra w życiu, a przez edytor map dziś jestem programistą Trochę mam wrażenie, że na obecnym etapie grafiki są czasem z różnych gatunków, więc to mam nadzieję jeszcze się zmieni, no i same fonty to już w ogóle pachną Wordem lat '90 Ale poza tym, z trailera nie będę się do niczego przyczepiał.
  6. To zależy gdzie będzie origin. Jeśli po lewej w środku, to tak jak wyżej (ew. zrezygnuj z max(a,b) i wstaw liczbę). Jeśli nie, no to trzeba dwa razy lenghtdir dać, w przeciwne strony.
  7. Ok, jeśli zwiększyłeś jedno i drugie równo, to problemu nie będzie i wtedy collision line nie jest potrzebne, o ile korzystasz z image_angle, zeby obrócić i grafikę i maskę. Wtedy wystarczy zwykły event kolizji, z jakimś obiektem-rodzicem wszystkich przeciwników.
  8. to nie może być tak, ze jest długi na 20 pikseli, gdyż pocisk ma też swój "speed", który jeśli jest większy niż 20px, to wtedy "przeskoczy" niektóre obiekty. Wybierzmy więc to, co akurat jest większe: var _list = ds_list_create(); var _num = collision_line_list(x, y, x + lengthdir_x( max(20, speed), direction), y + lengthdir_y( max(20, speed), direction), all, false, true, _list, false); if (_num > 0) { for (var i = 0; i < _num; i++;) { instance_destroy(_list[| i]); } } ds_list_destroy(_list);
  9. Uwielbiam to Twoje podejście, w którym w ogóle czegoś nie spróbowałeś, ale już martwisz się o performance, chociaż to z palcem w nosie pójdzie w 1000 fps Naprawdę, nie od tego zaczynaj, to nie będzie aż tak zasobożerne jak próbujesz sobie wmówić.
  10. Po tym jak pojawił się na rynku Flappy Bird, jest już miejsce dla gier krótszych niż niegdysiejsze dema
  11. Nie muszą być kropki, możesz sam wybrać rozmiar. Zresztą, kolejny raz doszukujesz się problemów z optymalizacją, zanim do nich dojdziesz - 200 kropek to jest pikuś dla dzisiejszego komputera. Zawsze możesz też zrobić surface, narysować i utworzyć z tego sprite i wtedy w kolejnych krokach nic nie musisz zmieniać.
  12. 360 klatek? Moim zdaniem, wystarczy jedna. Jeśli obiekt nie ma innej maski niż sprite, to za pomocą image_angle możesz obracać zarówno sprite jak i maskę.
  13. No to jeśli w obiekcie gracza to nie powinno być problemów nawet w sekwencji, obiekt chyba się normalnie wykonuje. Myślałem, że to sekwencja gdzie są same sprite.
  14. layer_shader layer_get_script_begin layer_get_script_end layer_get_shader
  15. Nie wiem, czy żeby przechodził dokładnie przez punkty, to będzie krzywa beziera. Bardziej mi się wydaje, że tutaj linie powinny być rysowane za pomocą jakichś ease-in itp. funkcji, pół od punktu A do połowy punktu B, drugi od połowy drogi do punktu B do samego B. Czyli wszelkie funkcje od easing/tweening by się przydały. Bo bezierem jak przesuniesz jeden punkt to i pozostałe się ruszają.
  16. W GMS2 możesz mieć dowolną ilość backgroundów, ustawionych na powtarzanie w osi x oraz y (jednej lub obu).
  17. Świetna grafika, chociaż tematycznie nie ta pora roku W czym rysowane?
  18. Hm, nie wiem czy angle_difference na pewno zwraca ujemne wartości, ale moze: dir1 = dir1 + angle_difference(dir1, dir2) * 0.5 ?
  19. To dla początkującego powiem, ze do GM jest dołączony bardzo obszerny manual tłumaczący co i jak, który znajduje sie online pod adresem https://manual.yoyogames.com/ .
  20. Ustaw wszystkim wspólnego rodzica (parent) i wtedy najbliższy jest instance_nearest(player.x, player.y, obj_rodzic);
  21. Generalnie to trzeba też znaleźć sposób, by do tego zagadnienia podejść. Ja bym od razu odrzucił szukanie w każdej klatce, przez każdy z obiektów, jakiegoś innego najbliższego. Czemu? Bo to od razu powoduje taki problem, że kilka obiektów na raz znajdzie siebie i każdy poleci w inną stronę. Ugryzł bym to inaczej. Takiego połączenia chcesz przecież dokonać, gdy pojawią się dwa przedmioty blisko siebie - nigdy, gdy jest jeden. Kluczem jest właśnie tutaj "pojawią się". Ja bym w momencie tworzenia nowego obiektu sprawdzał, czy w granicy X od niego, za pomocą collision_circle albo collision_circle_list, które mają argument NOTME wykluczający obecną instancję (w tym przypadku - świeżo stworzoną). var near = collision_circle(x,y,300,drewno,false,true); if (near > 0) { near.amount += amount; instance_destroy(); } I po sprawie. Jak chcesz animować, że one się przyciągają, to nieco wiecej zabawy i wtedy collision_circle_list się przyda, żeby znaleźć wszystkie w tej samej strefie, oraz wykluczać np. te które się już "animują" (o ile tak chcesz).
  22. Wydzieliłem osobny temat, za długie posty były.
  23. Jak dasz show_debug_message("cokolwiek"); przy "GoTo = true; // Wlacz ruch obiektu" to pokazuje, że ten kod się wykonuje ? Nie bardzo też wiem co jest w zmiennej "Amount", może problem leży właśnie tutaj - porównujesz wszystko z jakąś jedną wartością.
×
×
  • Dodaj nową pozycję...