AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Shape mit real - Zahlen bewegen ???
Thema durchsuchen
Ansicht
Themen-Optionen

Shape mit real - Zahlen bewegen ???

Ein Thema von Wadruk · begonnen am 30. Jan 2006 · letzter Beitrag vom 30. Jan 2006
Antwort Antwort
Wadruk

Registriert seit: 30. Jan 2006
3 Beiträge
 
#1

Shape mit real - Zahlen bewegen ???

  Alt 30. Jan 2006, 10:21
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???
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Shape mit real - Zahlen bewegen ???

  Alt 30. Jan 2006, 15:10
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.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Wadruk

Registriert seit: 30. Jan 2006
3 Beiträge
 
#3

Re: Shape mit real - Zahlen bewegen ???

  Alt 30. Jan 2006, 15:26
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.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Shape mit real - Zahlen bewegen ???

  Alt 30. Jan 2006, 15:33
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.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Wadruk

Registriert seit: 30. Jan 2006
3 Beiträge
 
#5

Re: Shape mit real - Zahlen bewegen ???

  Alt 30. Jan 2006, 17:05
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.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Shape mit real - Zahlen bewegen ???

  Alt 30. Jan 2006, 18:17
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.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  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 20:34 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