AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi PING PONG soll abprallen
Thema durchsuchen
Ansicht
Themen-Optionen

PING PONG soll abprallen

Ein Thema von Intapper · begonnen am 23. Mai 2006 · letzter Beitrag vom 23. Mai 2006
Antwort Antwort
Intapper

Registriert seit: 17. Mär 2006
2 Beiträge
 
#1

PING PONG soll abprallen

  Alt 23. Mai 2006, 09:21
Hi @ all,
In unserem Informatikkurs machen wir gerade das Projekt "Ping Pong"
Bis jetzt haben wir geschafft den Ball zu zeichnen und zu bewegen.
Das jetztige Problem von mir ist, dass ich den Ball nicht wenden kann


Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  position.X:=position.X+1;
  position.Y:=position.Y+1;
  refresh;
  if (position.X = 2) and (position.Y = 2) then
  Begin;
  position.Y:=position.Y-20;
  position.X:=position.X-20
  end;
  canvas.Brush.Color:=clRed;
  Ball_zeichnen;
end;
da liegt das Problem !!! Ich weiß ja auch warum, ich kenn aber bisher keine andere Möglichkeit um die Richtung vom Ball zu ändern.
Ich wäre froh, wenn ihr mir helfen könnt.

mfg Intapper
Delphi am lernen
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: PING PONG soll abprallen

  Alt 23. Mai 2006, 09:25
Hallo,
Speicher in einer Variable die Richtung. Am Besten für X- und Y-Richtung getrennt. Wenn der Ball an eine Wand / Spielbrett kommt änderst du die Richtung. Die Bewegung entsteht, wie du ja schon weißt *g* aus Subtraktion bzw. Addition von der Geschwindigkeit.

MfG
ein sehr müder freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Intapper

Registriert seit: 17. Mär 2006
2 Beiträge
 
#3

Re: PING PONG soll abprallen

  Alt 23. Mai 2006, 09:36
Zitat von freak4fun:
Hallo,
Speicher in einer Variable die Richtung.
Hi,
Sorry kenn mich nicht sehr gut aus mit Delphi
Könntest du mir zum Bsp. " Die Richtung in einer Variable speichern" zeigen?

Danke.

mfg Intapper
Delphi am lernen
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: PING PONG soll abprallen

  Alt 23. Mai 2006, 09:55
Ich würde das zum Beispiel so machen:

Delphi-Quellcode:
var
  BallBewegtSichNachRechts: Boolean;

...

  if BallBewegtSichNachRechts then
    Ball.X := Ball.X + 5
  else
    Ball.X := Ball.X - 5;
Nur so als Idee. Mann Kann die Richtung auch als positiven oder negativen Wert in einer Integervariable speichern und dann den Wert addieren.

Delphi-Quellcode:
var
  Ballgeschwindigkeit: Integer;

...

  Ballgeschwindigkeit := 5;
  Ball.X := Ball.X + Ballgeschwindigkeit;

  if Ball.X + Ball.Breite >= Form1.Width then
    Ballgeschwindigkeit := Ballgeschwindigkeit * -1;
Das mal so als Idee. Hab das weder getestet noch wirklich viel drüber nachgedacht.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:11 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