Wpis z mikrobloga

Kolejny dzień z #gamedev w #javascript #html .

Teraz zacząłem robić z kursem grę osadzona w kosmosie. Prosty motyw gry - lecimy do przodu, statek strzela non stop a my sterujemy nim na boki.

Dowiedziałem się o bardzo istotnym elemencie mechaniki gier. Chodzi o wykorzystywanie tych samych elementów/obiektów w rozgrywce. Czyli pocisk, który opuszcza ekran gry jest wykorzystywany ponownie w nowym wystrzale. Tym sposobem wykorzystujemy cały czas te same obiekty, nie wykorzystując więcej pamięci urządzenia.

W poniższym filmiku cały czas są jedynie 3 obiekty pocisku.

Jak chcesz być na bieżąco z moją nauką #gamedev i przyszłymi grami,to obserwuj tag: #badzlepszygamedev
BadzLepszy - Kolejny dzień z #gamedev w #javascript #html .

Teraz zacząłem robić z...

źródło: comment_pfieFqBzcpuuRK3v5PR0ucM9gPqTMQTp.gif

Pobierz
  • 7
@BadzLepszy: ja rozwiązywałem to w taki sposób: pocisk był strukturą któa miała np. poz X i Y a także dostępność typu bool, na początku inicjowałem tablice tego typu powiedzmy 6 elementów, przy naciśnięciu FIRE, program przechodził przez tablicę od początku i jeżeli natrafił na dostępny strzał to go inicjalizował czyli wystrzeliwał co oznacząło żę jest on teraz nie dostępny, kiedy pocisk wylecial poza ekran znów mu się ustawiało flagę na dostepny,
@Kopytko1: Ja robię gry na silniku Phaser. Tam w zasadzie jest to bardzo podobnie rozwiązane. Tworzy się tzw. pool obiektów, gdzie każdy obiekt ma status, przez który możemy sprawdzać czy obiekt jest martwy. Jeżeli tak to możemy go ożywić :)
@Kopytko1: Lecisz za każdym razem przez tablicę booli... czemu nie zrobisz inta, który ma ++ jak pocisk powstaje i -- jak pocisk umiera i warunek if(int < 6){strzel()}? Jak będziesz miał 500 pocisków to tablica booli jest totalnie beznadziejnym pomysłem