AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi *Help* +Spiel Ping Pong (abprallen vom ball)
Thema durchsuchen
Ansicht
Themen-Optionen

*Help* +Spiel Ping Pong (abprallen vom ball)

Ein Thema von iLLe · begonnen am 17. Jul 2003 · letzter Beitrag vom 19. Jul 2003
Thema geschlossen
Seite 2 von 3     12 3      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 01:11
Na du mußt nicht niur die x-Koordinate abfragen, sondern auch die y-Koordinate. Kuck dir das man an:

Code:

       <---  °

 -
| |
| |
 -
Du mußt eben auch kucken, ob der Ball den Schläger trifft nicht nur, ob er sich links oder rechts davon befinden.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#12

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 01:22
ja aber wie mach ich das die y koordinate ändert sich vom edit feld immer und vom ball und ich muss ja ne strecke sozusagen abfragen also das height vom edit feld sozusagen naja irgendwie krieg ich das nicht hin.
 
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#13

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 01:29
Zitat von Christian Seehase:
Moin Ille,

tut mir leid, aber der Codeschnipsel ist so aus dem Zusammenhang gerissen, dass ich da überhaupt nicht durchblicke.
Wie sind x und y deklariert, wie werden die initalisiert, wodrin ist das Codefragment enthalten (ich vermute Timer Event)?

Vielleicht hilft es Dir weiter, wenn Du mal nach Hier im Forum suchenkollision suchst.
Kollisionserkennung hatten wir schon ein paar Mal.
Ja im Timer Event x und y sind global deklariert und unter form create
-> x=10 & y=5 hoffe das hilft.
bzw. ich hab mal in Schule ne Komponente gemacht gehabt fals ihr das vielleicht gebrauchen könnt könnt ich euch geben als beispiel proggramm oda so.
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 02:26
Moin Ille,

ein kleines Beispiel, wie man den Shape zwischen den Edits hin- und herlaufen lassen kann.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Shape1.Top := trunc((Form1.ClientRect.Bottom-Form1.ClientRect.Top-Shape1.Height)/2);
  Shape1.Left := trunc((Form1.ClientRect.Right-Form1.ClientRect.Left-Shape1.Width)/2);
  Edit1.Left := trunc((Form1.ClientRect.Right-Form1.ClientRect.Left-Edit1.Width)/2);
  Edit2.Left := Edit1.Left;
  Edit1.Top := 0;
  Edit2.Top := Form1.ClientRect.Bottom-Edit2.Height;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Enabled := false;
  try
    if fUp then begin
      if Shape1.Top > Edit1.Height then begin
        Shape1.Top := Shape1.Top-3;
      end else begin
        if ((Shape1.Left+trunc(Shape1.Width/2)) >= Edit1.Left) and
           ((Shape1.Left+trunc(Shape1.Width/2)) <= (Edit1.Left+Edit1.Width)) then begin
          fUp := not fUp;
        end else begin
          Shape1.Visible := false;
        end;
      end;
    end else begin
      if (Shape1.Top+Shape1.Height) < Edit2.Top then begin
        Shape1.Top := Shape1.Top +3;
      end else begin
        if ((Shape1.Left+trunc(Shape1.Width/2)) >= Edit2.Left) and
           ((Shape1.Left+trunc(Shape1.Width/2)) <= (Edit2.Left+Edit2.Width)) then begin
          fUp := not fUp;
        end else begin
          Shape1.Visible := false;
        end;
      end;
    end;
  finally
    Timer1.Enabled := true;
  end;
end;
Die Edits sind oben und unten. Die Edits werden horizontal zentriert, der Shape inner halb das Formulares.

[EDIT]
fUp ist eine globale boolean Variable. Vorbesetzt mit true;
[/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
 
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#15

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 03:53
Ich hab meine schläger links und rechts nicht oben und unten und die bewegen sich ja die ganze zeit deshalb weiss ich nicht wie ich das machen soll ich hab ja nie nen festen wert
 
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#16

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 04:22
naja ich kriegs nicht hin diesmal gehe ich wirklich pennen
 
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#17

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 13:21
so bin wieder wach wie ich sehe noch kein weiterer vorschlag ich erinnere mich daran das wirs mal in der schule gemacht hatten aber wie weiss sich nicht mehr
 
Daniel B
(Gast)

n/a Beiträge
 
#18

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 13:22
Hallo,

vielleicht ist das etwas leichter für Dich zum verstehen.
http://www.delphipraxis.net/viewtopic.php?t=2886

Grüsse, Daniel
 
iLLe

Registriert seit: 17. Jul 2003
50 Beiträge
 
#19

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 13:50
das kenne ich schon mein problem ist einfach das sich das edit feld immer bewegt und sich sein top immer verändert und ich nicht richtig weiss wie ich die y-koordinate abfragen soll.
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: *Help* +Spiel Ping Pong (abprallen vom ball)

  Alt 18. Jul 2003, 13:57
Moin Ille,

wenn Du als Oberkante Edit1.Top nimmst sollte das aber gehen.
Wenn sich die Position des Edits ändert, ändert sich auch Top.

In meinem Beispiel müsste man "nur" Eigenschaften (Top,Left,Width usw.) gegen die entsprechenden für die Links/Rechts Bewegung austauschen.
Aus Shape1.Top müsste also z.b. Shape1.Left werden.

[EDIT]
Voraussetzungen
Edit1 ist links, Edit2 rechts
Im Beispiel ist Edit1 oben, Edit2 unten
[/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
 
Thema geschlossen
Seite 2 von 3     12 3      


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 10: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