Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Shape mit real - Zahlen bewegen ??? (https://www.delphipraxis.net/62042-shape-mit-real-zahlen-bewegen.html)

Wadruk 30. Jan 2006 10:21


Shape mit real - Zahlen bewegen ???
 
Hi, ich hoffe Ihr könnt mir helfen.

Ich programmiere ein Spiel so ähnlich wie Cannon, wo man sich gegenseitig mit einem Geschütz beschießen muss.
Die Flugbahn jeder Kugel muss ja wie eine Parabel fliegen.
Dies habe ich zwar hinbekommen, doch wie bringe ich jetzt dem Shape, also der Kugel bei, dass sie den Weg des Graphen folgen soll.
Die X und Y Werte habe ich dafür. Da es aber real Zahlen mit Nachkomma - Stellen sind nimmt Left und Top vom Shape die Werte nicht an.

Ich habe zwar schon round und trunc versucht aber es ist nicht das Wahre, da ich die Nachkomma Stellen brauche.

Hat einer von euch eine Idee???

Nikolas 30. Jan 2006 15:10

Re: Shape mit real - Zahlen bewegen ???
 
Herzlich Willkommen in der DP!

Zitat:

Ich habe zwar schon round und trunc versucht aber es ist nicht das Wahre, da ich die Nachkomma Stellen brauche.
Für was brauchst du denn die Nachkommastellen? Es ist technisch einfach nicht möglich eine Position auf dem Bildschirm genauer als ein Pixel anzugeben.
Zeig doch mal ein bischen Code wie die Zeichenroutine oder die Berechnung der Flugkurve.

Wadruk 30. Jan 2006 15:26

Re: Shape mit real - Zahlen bewegen ???
 
Quelltext habe ich noch keinen.
Wollte vorher erst mal nachfragen, ob das überhaupt geht.

Man gibt Richtung und Stärke vor und das Programm rechnet dann mit der Formel -ax² die Punkte im Koodinatensystem (in dem Fall der form) aus und das Shape oder eine Figur im Canvas (Kreis) bewegt sich dann von Punkt zu Punkt.

Kann auch sein, dass ich viel zu kompliziert vorgehe.
Bin noch nicht lange am programmieren.

Die Formel ist auf jeden Fall eine umgedrehte Parabel, die durch a gestaucht werden kann.

DGL-luke 30. Jan 2006 15:33

Re: Shape mit real - Zahlen bewegen ???
 
Mach es doch einfach mit round. für die grafische Ausgabe reicht pixelgenauigkeit. Alles andere ist blödsinn., zumindest in 2d.

Für eventuelle Kollisionsberechnungen solltest du dann natürlcih die exakten Werte hernehmen.

Wadruk 30. Jan 2006 17:05

Re: Shape mit real - Zahlen bewegen ???
 
Ich habe mich jetzt auch für das Runden entschieden.

Doch noch eine Frage:

Das Spielfeld wird zufällig erstellt mit einem Canvas.
Eine Schleife fängt an zu Laufe und erstellt zufällig ein X und Y Wert der dann im Canvas eingeszeichnet wird.
Funktioniert auch ohne Probleme : )

Doch wie kann ich die Zeichnung wieder rückgängig machen, wenn ein neues Spielfeld erstellt werden soll?
Zudem soll auch eine Linie dem Cursor folgen um den winkel und die Stärke abmessen zu können.
Da brauche ich das auch.

Nikolas 30. Jan 2006 18:17

Re: Shape mit real - Zahlen bewegen ???
 
Zitat:

Doch wie kann ich die Zeichnung wieder rückgängig machen, wenn ein neues Spielfeld erstellt werden soll?
Was soll denn alles rückgängig gemacht werden? Willst du wieder ein weißes Image oder soll nur die Kanonenspur gelöscht werden? Für zweiteres könntest du dir ein TBitmap nehmen und den Hintergrund drauf malen. Das wird dann in eine Image geladen und in dieses Image dann die Kanonenspur eingezeichnet. Bei der nächsten Runde kannst du dann einfach wieder die Hintergrund-Bitmap laden.

Zitat:

Zudem soll auch eine Linie dem Cursor folgen um den winkel und die Stärke abmessen zu können.
Da das Bild der Kanonenkugel immer nur Stückweise verschoben wird, kannst du immer zwischen Zwei Positionen per LineTo eine Linie zeichnen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 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