ďťż

Ładny brzuch

Mam problem:cheesy:
Piszę swoją grę (a właściwie zaczynam pisać) i nie wiem jak zrobić, aby po nacisnięciu klawisza UP (przyspieszenie) pojazd przyspieszył lecieć w kierunku w jakim jest odwrócony. Dodatkowo nie wiem jak zrobić aby sam obrazek się obracał wraz z naciśnięciami klawiszy LEFT i RIGHT.
Prosiłbym o kod źródłowy gry Asteroids (8)), w których mógłbym znaleźć odpowiedź lub o podanie bezpoścredniej odpowiedzi:)



Jeżeli używasz C++ Buildera to w zdarzeniu onkeydown Formy głównej wpisz:

switch(Key)
{
case VK_UP : /*twój kod */; break;
case VK_DOWN : /*twój 2 kod*/; break;
case VK_LEFT : /*twój 3 kod*/; break;
case VK_RIGHT : /*twój 4 kod*/; break;
}

A poza tym w Pomocy w Zakładce Index wpisz: Virtual key codes i otrzymasz spis kodów większości klawiszy.

I am the REAL Noname

Umiem zrobić, aby obiekt się poruszał. Mam to zrobione tak, że po naciśnięciu klawisza np. LEFT obiekt nie obraca się w lewo tylko zaczyna przyspieszać w tym kierunku[:/]

Warto użyć zmiennej zawierającej szybkość. A co do obracania - trza by wczytywać nowy obrazeczek. Więc kąt nachylenia (nie wiem jak to inaczej określić) też do zmiennej.

Moja strona: (na tripodzie poszła do piachu, ale Winnetou pomógł) www.blaze-programming.no-ip.com

gg: 4644238



Dobra
Wszystko ładnie tylko jak zrobić poruszanie się w określonym kierunku?
Mam takie cos:
Image1.Left:= Image1.Left + speed;
Nie mam pomysłu jak zrobić kierunek jazdy:cry:

OK. Żeby pisać grę, powinieneś dość dobrze opanować programowanie w Delphi. Nie porywaj sie na głębokie wody. POczytaj o tworzeniu gier.

Kompilatory sa jak kobiety - raz chca, a raz nie ;-)

g-g: 2550505

Aby chodzić pod wyznaczonym kątem, wyprowadź sobie wzorki na to. To bardzo proste operacje, w sumie obrazek+trygonometra+ "wiedza co się dzieje z liczbą po przeniesienu na drugą stronę znaku równości" i po problemie.

Ja takie cos robie w ten sposob:
Masz zmienne:
X,Y - aktualne polozenie czegos co ma sie poruszac
Obr - aktualny kat obrotu tego czegos
pi - czyli 3.1415926358...
Speed - aktualna szybkosc

Traz obliczasz nowe polozenie ze wzorów
X = X + cos(Obr * pi / 180) * Speed
Y = Y + sin(Obr * pi / 180) * Speed

Aby, np. pojazd przyspieszyl wystarczy ze pod klawiszem UP bedziesz zwiekszal warosc Speed. U mnie dziala :D

No widzisz Rom o to chodziło:cheesy::D
wielkie dzięki
Potem sprobuje
Ja się jeszcze nie uczyłem w szkole o 'cos' i 'sin' ale wiedziałem, że coś takiego istnieje8)
Odpowiem później czy działa

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •