Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Ballspiel(Pongähnlich) (https://www.delphipraxis.net/177435-ballspiel-pongaehnlich.html)

karrax 6. Nov 2013 14:41

Ballspiel(Pongähnlich)
 
Hallo Com,
habe eine Frage undzwar wurde mir die Aufgabe gestellt, das ich mit einem Timer ein Shape durch den ganzen
Bildschirm fliegen lassen soll und wenn es an die Bildschirmränder prallt soll es die Richtung ändern.
Ich habe leider keine Ahnung wie ich die sache in angriff nehmen muss.
Ich weis das der Befehl x := -x die Bewegungsrichtung ändert, dass war es aber auch.
Wäre schön wenn man mir helfen kann

Karrax

Back2Code 6. Nov 2013 14:52

AW: Ballspiel(Pongähnlich)
 
Auf welcher Komponente / Hintergrund willst du den Ball zeichnen?

Du könntest ein Drawgrid nehmen dann lässt du die Bewegungen mithilfe eines Arrayes ablaufen und am Rand wechselt es dann wieder die Richtung wenn der Ball entweder auf 0 oder das Ende vom Array trifft.

baumina 6. Nov 2013 14:58

AW: Ballspiel(Pongähnlich)
 
Ich gehe mal davon aus, dass du so eine Art "fertige Lösung" suchst. Wie wäre es z.B. damit? http://www.youtube.com/watch?v=FsI8cyhVbWw

Back2Code 6. Nov 2013 15:20

AW: Ballspiel(Pongähnlich)
 
Schau dir das mal an

http://delphi.about.com/od/gameprogr.../fdac_pong.htm

http://delphi.about.com/od/gameprogramming/

DeddyH 6. Nov 2013 15:21

AW: Ballspiel(Pongähnlich)
 
Stichwort für die Forensuche: Hier im Forum suchenKollisionskontrolle, damit sollten sich etliche Beispiele finden lassen.

karrax 6. Nov 2013 16:40

AW: Ballspiel(Pongähnlich)
 
Es soll kein Pong sein nur so etwas ähnliches.
Als Ball wollte ich ein Shape verwenden und es Rund machen. Dieser Ball soll dann einfach im Bildschirm rumfliegen und wenn er gegen eine Wand prallt dann die Richtung ändern.
Dafür darf ich aber nue einen Timer verwenden

DeddyH 6. Nov 2013 16:52

AW: Ballspiel(Pongähnlich)
 
Dann pack doch einen Timer auf die Form und ändere innerhalb dessen OnTimer-Ereignisses die Position des Shapes. Wenn das klappt, implementiere noch die Kollisionskontrolle und fertig.

karrax 6. Nov 2013 17:01

AW: Ballspiel(Pongähnlich)
 
sorry das ich nachfragen muss aber habe erst seid sehr kurzem delphi. was genau soll ich denn in dem timer einstellen und wie mache ich das mit der kollision?

DeddyH 6. Nov 2013 17:07

AW: Ballspiel(Pongähnlich)
 
Du hast einen Timer und ein Shape. Für den Timer sind die Eigenschaften Enabled ("timern" oder nicht) und Interval (Zeit in Milisekunden zwischen 2 Auslösern) wichtig. Auf der "Ereignisse"-Seite des Objektinspektors kannst Du dann einen Doppelklick neben "OnTimer" machen, Delphi erstellt Dir dann das Code-Gerüst und weist gleichzeitig diese Methode dem entsprechenden Ereignis automatisch zu. So, innerhalb dieser Methode veränderst Du am Besten testhalber einfach nur mal die Position des Shapes (Left und Top ändern). Danach deklarierst Du Dir 2 Variablen für den gewünschten Versatz auf der X- und der Y-Achse und verwendest diese dann innerhalb der Timer-Methode. Zur Kollisionskontrolle musst Du dann nur noch die aktuellen Koordinaten und Dimensionen mit denen des Formular- bzw. Bildschirmrands vergleichen. Bei Kollision drehst Du dann nur noch das Vorzeichen der entsprechenden Variablen um.

karrax 6. Nov 2013 17:15

AW: Ballspiel(Pongähnlich)
 
Also ich hab geschaft das sich das Shape mit left unf top bewegt. aber bei dem rest blicke ich noch nicht so durch


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 Uhr.
Seite 1 von 3  1 23      

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