AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Problem mit Schläger beim Pong Spiel
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Schläger beim Pong Spiel

Ein Thema von fantasyboy973 · begonnen am 15. Mär 2007 · letzter Beitrag vom 17. Mär 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Problem mit Schläger beim Pong Spiel

  Alt 17. Mär 2007, 21:03
Hast du's so und KeyPreview des Formulars auf true?

Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = #97) OR (Key = #65) then // a bzw. A
    Schlaeger1.Top := Schlaeger1.Top + 20
  else if (Key = #81) OR (Key = #113) then // q bzw. Q
    Schlaeger1.Top := Schlaeger1.Top - 20
  else if (Key = #108) OR (Key = #76) then // l bzw. L
    Schlaeger2.Top := Schlaeger2.Top + 20
  else if (Key = #111) OR (Key = #79) then // o bzw. O
    Schlaeger2.Top := Schlaeger2.Top - 20;
end;
Das geht bei mir wunderbar.
  Mit Zitat antworten Zitat
fantasyboy973

Registriert seit: 25. Jan 2007
9 Beiträge
 
#12

Re: Problem mit Schläger beim Pong Spiel

  Alt 17. Mär 2007, 21:18
ich hatte die Eigenschaft KeyPreview nicht auf true gestellte aber nachdem ich das gemacht hatte funktionierte es trotzdem noch nicht. die schläger bewegen sich einfach nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Problem mit Schläger beim Pong Spiel

  Alt 17. Mär 2007, 21:19
Der Code, den ich gerade eben gepostet habe, funktioniert ganz sicher. Kommen Fehler oder tut sich einfach nichts?
  Mit Zitat antworten Zitat
fantasyboy973

Registriert seit: 25. Jan 2007
9 Beiträge
 
#14

Re: Problem mit Schläger beim Pong Spiel

  Alt 17. Mär 2007, 21:21
nee es kommen keine fehler es tut sich nur nichts
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Problem mit Schläger beim Pong Spiel

  Alt 17. Mär 2007, 21:27
Hm das kann eigentlich nicht sein. Den Code hast du sicher im OnKeyPress-Ereignis? Ich habe den Code vorhin getestet und der geht bei mir.

Edit: ich habe mein Projekt einmal angehängt.
Angehängte Dateien
Dateityp: zip schlaeger_160.zip (4,8 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
fantasyboy973

Registriert seit: 25. Jan 2007
9 Beiträge
 
#16

Re: Problem mit Schläger beim Pong Spiel

  Alt 17. Mär 2007, 21:39
ja so hatte ich es auch aber hat nicht funktioniert.

bei dem was du da hattest das hab ich ja auch aber im OnKeyDown Ereignis.

da tritt aber das gleiche problem auf wie bei mir.

es soll nämlich wenn man a (nach unten) gedrückt hält der 1. schläger dauerhaft nach unten laufen bis man a los lässt und wenn der 2. spieler das auch macht dann sollte das bei dem auch funktionieren.

es geht aber immer nur jeweil bei einem vom beiden spielern.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Problem mit Schläger beim Pong Spiel

  Alt 17. Mär 2007, 22:00
Jetzt verstehe ich dein Problem! Bei dir klappt es nicht, dass sich Schläger 1 und 2 gleichzeitig bewegen lassen.

Das könntest du leicht über einen Timer (Intervall max. 50) lösen:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if getAsyncKeyState(65) < 0 then // a
    Schlaeger1.Top := Schlaeger1.Top + 20
  else if getAsyncKeyState(81) < 0 then // q
    Schlaeger1.Top := Schlaeger1.Top - 20;
  if GetAsyncKeyState(vk_up) < 0 then // arrow up
    Schlaeger2.Top := Schlaeger2.Top - 20
  else if GetAsyncKeyState(vk_down) < 0 then // arrow down
    Schlaeger2.Top := Schlaeger2.Top + 20
end;
Nur kann es dabei vorkommen, dass bei einem Tastendruck der Schläger um 2 Einheiten bewegt wird bzw. bei zu kurzem Druck gar nicht. Nur wie man das am gescheitesten löst, kann ich dir nicht sagen. Natürlich könnte man das in einen Thread auslagern, doch das halte ich fast für etwas overkilled.
  Mit Zitat antworten Zitat
fantasyboy973

Registriert seit: 25. Jan 2007
9 Beiträge
 
#18

Re: Problem mit Schläger beim Pong Spiel

  Alt 17. Mär 2007, 22:20
jo da haste recht.

funktioniert.

na da kann ich mich ja jetzt wieder anderen sachen meines projektes zuwenden.

hab mich ja auch lange genug an der einen sache aufgehalten.

und danke nochmal an alle ohne euch hätte ich das bestimmt nicht geschafft.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz