[C++] Pocisk 1921 1

O temacie

Autor Hestes768

Zaczęty 12.01.2014 roku

Wyświetleń 1921

Odpowiedzi 1

Hestes768

Hestes768

Użytkownicy
posty39
Propsy3
ProfesjaProgramista
  • Użytkownicy
 Witam! Piszę grę tekstową polegającą na zabijaniu zombiaków. Nie mogę jednak za bardzo ogarnąć pocisków. Działać ma to na zasadzie, że po wciśnięciu np. SHIFT pocisk wystrzeli z gracza i poleci do przodu, dopóki nie trafi w zombie, bądź nie rozbije się na ścianie.
 Kombinowałem z czymś takim, że lokalizowałem pozycję gracza, a następnie z tego miejsca tworzyłem pocisk. Niestety nie działało to tak jak chciałem.
 

 Prosiłbym, aby ktoś mi napisał w jaki sposób można stworzyć taki pocisk. Nie, nie chcę gotowca, ani nic w tym stylu. Chciałbym wyjaśnienie, możliwe sposoby itp. W końcu trzeba się czegoś porządniejszego nauczyć.
 

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator
No tworzysz pocisk i co klatkę wykonujesz dwie czynności:
 - dokonujesz przesunięcia o jednostkę ruchu w kierunku w jaki jest skierowany
 - sprawdzasz czy pocisk znalazł się w obrębie DOWOLNEGO collidera na scenie (czyli dowolnej ściany lub dowolnego zombiaka). 
Jako że tworzysz grę tekstową, sprawę z colliderami masz prostą, bo zajmują "jeden cały kwadrat", więc możesz to zrobić w drugą stronę: sprawdzać czy w danym polu jest jakiś kolider. Czyli po prostu coś w co pocisk może trafić. Jeśli tak, to niszczysz go, a obiektowi wysyłasz informację o trafieniu. Obiekt decyduje co z tą informacją zrobić, np w prostym przypadku fragment ściany by ją pewnie zignorował. Ale gdybyś tworzył grę 3d, mógłby np dodać w miejscu trafienia teksturę dziury po trafieniu. Albo, nawet w trybie tekstowym, mógłbyś ustawić każdemu fragmentowi ściany jakąś pulę wytrzymałości, zmniejszaną z każdym trafieniem, która po spadnięciu do zera powodowałaby zniknięcie ściany. 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry