Ĺ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
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