Pomocy!!! (Pong)

0

no coz nie wiem czy podobny problem byl tu poruszany jesli tak to sorki za zasmiecanie forum, ale mam problem
jestem raczej poczatkujacy w delphi, ale musze zrobic na zaliczenie program - pong
sprawa wyglada nastepujaco:
chce miec wersje offline na klawiaturze na 2 graczy i staram sie to zrobic w nastepujacy sposob (Delphi 6):
definiuje 2 TPaintBoxy: line1 i line2 - w nich beda paletki
w Procedurze FormCreate - ustalam polozenie i rozmiar tych paletek:
np:

Line1.Width:=30;
Line1.Height:=70;
Line1.Top:=100;
(to samo oczywiscie dla drugiej)
w Procedurze FormPaint rysuje te paletki
with Line1 do
begin
Canvas.Pen.Width:=30; //szerokosc deseczki
Canvas.Pen.Color:=clBlue; //kolor
Canvas.MoveTo(0,0); //ustaw na pozycji (0,0)
Canvas.LineTo(0,70);//rysuje dececzke dl 100 pikseli
end;

no i teraz sedno problemu
procedura OnKeyDown:
za pomoca funkcji case (lub 4 if) sprawdzam jaki zostal nacisniety klawisz: gora, dol dla pierwszej, w, s dla drugiej. Problem polega na tym ze one sie ruszaja, tylko ze sie blokuja - znaczy nigdy nie jada 2 na raz - w czym lezy klopot ???(przegladalem zrodla tego ponga z tej strony, ale nie rozumiem tego watku i jego wywolywania)
z gory dziekuje za odpowiedz

0

Problem w odbieraniu naciskania klawiszy. Najlepiej założyć hooka na klawiaturę, aktywującego się podczas gry.

0

dzięki za odpowiedź - zrobiłem wedłg twojej rady (a przynajmniej mam taką nadzieję) - poszukałem o hookach i znalazłem przykład - niestety wciąż pałeczki na wzajem się blokują...
chyba zostane przy myszce i klawiaturze (choć nie potrafie tego wyrównać..)

0

nie jestem obeznany z tematem ale wydaje mi się że skoro tam są wątki to tak musi być, po to aby jeden reagował na naciśnięcia klawiszy niezależnie od drugiego

0

Może tak:

TRodzajRuchu = (Gora, Dol, Stop);

W timerze:

if paletkiPierwszejRodzajRuchu = Gora then przesundogorypaletke1;
if paletkiPierwszejRodzajRuchu = Dol then przesunwdolpaletke1;
if paletkiDrugiejRodzajRuchu = Gora then przesundogorypaletke2;;
if paletkiDrugiejRodzajRuchu = Dol then przesunwdolpaletke2;

W OnKeyDown i OnKeyUp zgadnij co...

1 użytkowników online, w tym zalogowanych: 0, gości: 1