Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro 4] Turbopistolet

Ostatnio zmodyfikowano 2012-03-19 20:18
Autor Wiadomość
radmack
Temat założony przez niniejszego użytkownika
[Allegro 4] Turbopistolet
» 2012-03-07 22:28:16
Witam, mam problem w mojej grze. Gdy strzelam do wroga z pistoletu, wszystko jest ok, ale gdy dłużej przytrzymam "spust" to życie wrogowi dalej spada w zastraszającym tempie, co więcej mogę do tego obracać ludzikiem i tym samym koszę cały ekran wrogów jednym pociskiem z pistoletu, bo warunki ciągle są spełnione. Próbowałem kilku rozwiązań, np. ze zmienną bool, ale pętla zaraz znowu przejdzie i zabije kolejnego wroga, bo odblokuje zmienną bool i pozwoli funkcji wejść do kawałka kodu, w którym odejmuję życie wrogowi. Jak temu zaradzić?

pozdrawiam
P-52190
McAffey
» 2012-03-07 22:36:27
Musisz ten spust kontrolować jakimś timerem, żeby strzał nie wykonywał się przez cały czas trzymania spustu, ale bez kodu nie jesteśmy w stanie Ci pomóc, nikt nie wywróży jaki błąd zrobiłeś.
P-52191
arek194
» 2012-03-07 22:53:42
Musisz zrobić coś takiego 2 warunki pamiętaj że daje przykładowy pseudokod od ciebie zależy jak to zrobisz i jak nazwiesz zmienne.

Pierwszy warunek
C/C++
if( kolizja( pocisk, wr ó g ) )
{
   
    pocisk.zyje = false;
}

Drugi warunek
C/C++
if( pocisk.zyje == false )
{
    //tutaj ustawiasz zmienne pocisku np. na środku twojej postaci która strzela
}
P-52193
SeaMonster131
» 2012-03-07 23:01:56
Albo po prostu przy strzale dodawać obiekt (pocisk) do vector, a przy kolizji usuwać dany pocisk :)
P-52194
pekfos
» 2012-03-08 16:56:27
Niech pistolet strzela tylko w momencie naciskania spustu lub jego zwalniania. jeden bool, odpowiedni warunek i po problemie.
P-52209
McAffey
» 2012-03-09 15:12:41
Niech pistolet strzela tylko w momencie naciskania spustu lub jego zwalniania. jeden bool, odpowiedni warunek i po problemie.
Słabe rozwiązanie, po pierwsze nie będzie mógł użyć tego samego mechanizmu strzelania do kontrolowania broni maszynowych, po drugie w większości gier w które grałem (a przynajmniej tak mi się wydaje) przytrzymanie spustu skutkuje oddawaniem strzału za strzałem, tylko w naturalnym tempie.
P-52276
pekfos
» 2012-03-09 15:16:46
A czy napisałem, że ma tak zrobić przy każdej broni?
Ehh, to było by głupie. Z każdej broni strzela się inaczej ;]

przytrzymanie spustu skutkuje oddawaniem strzału za strzałem
Wszystko zależy od tego, jak realistyczne ma być strzelanie :P
P-52278
McAffey
» 2012-03-09 16:31:19
A czy napisałem, że ma tak zrobić przy każdej broni?
Ehh, to było by głupie. Z każdej broni strzela się inaczej
W takim razie wyżej ten sposób nie rozwiązywał by problemu do każdego typu broni. Więc jeśli autor gry przewiduje więcej typów broni to nie rozwiązuje to problemu.
P-52291
« 1 » 2
  Strona 1 z 2 Następna strona