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

[Allegro, C++] Hamulec ręczny (zatrzymanie samochodu)

Ostatnio zmodyfikowano 2010-06-09 19:40
Autor Wiadomość
Piotr3k
Temat założony przez niniejszego użytkownika
[Allegro, C++] Hamulec ręczny (zatrzymanie samochodu)
» 2010-06-09 17:17:48
Witam, :D to znowu ja!! ; p
mam do was ostatnie pytanie.
A więc zrobilem sobie hamulec ręczny (jest w poczatkowej fazie ;d)
if(key[KEY_SPACE]) predkosc=-0.5;
a wiec jak klikam spacje  to samochod ladnie spowalnia ( tak jakby hamowal) ale jest problem gdy przytrzymam spacje to on spowalnia i jedzie do tylu. da sie jakos to ograniczyc? zeby tylko do 0. zeby poprostu sie zatrzymywal a nie cofal i tyle ;p
P-17821
ison
» 2010-06-09 17:20:40
radzę poznać podstawy C++ a nie od razu brać się za bibliotekę graficzną :)
C/C++
if( predkosc < 0 ) predkosc = 0;

P-17822
Piotr3k
Temat założony przez niniejszego użytkownika
» 2010-06-09 17:23:01
probowalem takie cos juz zanim napisalem ale to nie dziala jak trzeba ;/
bo jak wtedy klikalem spacje to on tak spowalnial jakby hamowal a teraz to staje nagle ;p
@@@ Dobra rozwiazalem : P
Mialem - zle ustawiony :D
mialem przed 0.5
if(key[KEY_SPACE]) predkosc=-0.5;
a powinien byc przed =
if(key[KEY_SPACE]) predkosc-=0.5;
 Pozdrawiam i dzieki za pomoc :D
P-17823
ison
» 2010-06-09 17:24:59
musisz wprowadzić timer gdyż zapewne tak szybko zwalnia że tego nie zauważasz. Albo zwyczajnie zrobiłeś błąd w kodzie. Wklej to co ci podałem po linijce z key[KEY_SPACE]. To musi działać, przeciez nie jest az tak skomplikowane... gdy predkosc jest mniejsza niz 0 to podstawia pod nia wartosc 0

//edit
co do twojego poprzedniego tematu, (nie zdazylem napisac bo juz go zamknales), to co ja ci podawalem, ten kod, to nie znaczy ze zmienne masz dokladnie tak samo nazywac. Licz się z tym że często nie bedziesz mial podanych rozwiązań na tacy tylko przykład albo pseudokod

//edit2
widać problem leżał jednak po stronie błędu w kodzie ;)
P-17824
Piotr3k
Temat założony przez niniejszego użytkownika
» 2010-06-09 17:27:54
ehh no tak teraz z tego wszystkiego cofanie sie zepsulo :X
bo mialem :
if(predkosc<-3) predkosc=-3;
i teraz strzalka do dolu dziala jak spacja :D
P-17825
ison
» 2010-06-09 17:35:27
człowieku, a skąd my mamy wiedzieć co w twoim programie robi spacja i strzałka w dół? Nie dajesz ani kawałka kodu i mówisz coś o czym nikt nie ma pojęcia
P-17826
Piotr3k
Temat założony przez niniejszego użytkownika
» 2010-06-09 17:39:59
no dobra nie denerwuj sie :d
Masz kawalek kodu!
  
if(key[KEY_SPACE]) predkosc-=0.5;
if(key[KEY_DOWN]) predkosc-=0.1;
if(predkosc<-3) predkosc=-3;
if(predkosc<0) predkosc=0;
Obydwa dzialaja tak samo ;/ da rade je jakos pogodzic ?;/
P-17827
ison
» 2010-06-09 17:42:50
C/C++
if( key[ KEY_SPACE ] ) predkosc -= 0.5;

if( key[ KEY_DOWN ] ) predkosc -= 0.1;

if( predkosc <- 3 ) predkosc =- 3; //nie potrzebne gdyż linijka niżej wszystko już załatwia

if( predkosc < 0 ) predkosc = 0;


zależy do jakiej prędkości dochodzi pojazd. Jeśli ponad 1000 to różnica między spacją a klawiszem w dół będzie znacząca.
Możesz zrobić np.
C/C++
if( key[ KEY_SPACE ] ) predkosc -= 0.5;

if( key[ KEY_DOWN ] ) predkosc -= 0.01;

wtedy będzie widać różnicę ;)

//edit
ja się nie denerwuję tylko zwracam uwagę
P-17828
« 1 » 2
  Strona 1 z 2 Następna strona