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 |
|
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ś. |
|
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 if( kolizja( pocisk, wr ó g ) ) { pocisk.zyje = false; } Drugi warunek if( pocisk.zyje == false ) { } |
|
SeaMonster131 |
» 2012-03-07 23:01:56 Albo po prostu przy strzale dodawać obiekt (pocisk) do vector, a przy kolizji usuwać dany pocisk :) |
|
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. |
|
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. |
|
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 |
|
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. |
|
« 1 » 2 |