Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 21:34

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Mauskoordinaten auslesen
BeitragVerfasst: Sa Dez 03, 2005 19:38 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 02, 2005 14:22
Beiträge: 81
Hallo Forum!

Ich möchte die Mauskoordinaten von meinem "OpenGL-Panel" auslesen.

Von der Form und von einem Panel selber geht das ja ganz leicht im OnMouseMove - Ereignis.
Code:
  1. procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  2.   Y: Integer);
  3. begin
  4.   StatusBar1.SimpleText := 'X: ' + IntToStr(X) + ', Y: ' + IntToStr(Y);
  5. end;

Wie aber kann ich die Koordinaten vom Ursprung meiner OpenGL - Welt ermitteln?
Ziel soll im Prinzip eine Demo sein, die ungefähr so funktioniert wie der Editor im Bomberman Tutorial. Mir ist das Tutorial irgendwie zu viel Overhead - zu unübersichtlich. Ich steige da nicht durch.

Vielen Dank schonmal für das x-te mal beantworten der selben Frage :roll:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 03, 2005 23:38 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Was du suchst ist glProject. Liefert dir für einen 3D-Punkt die 2D-Koordinaten zurück.
Im Bomberman-Tut wurde allerdings Selection verwendet, wenn mich nicht alles täuscht

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 04, 2005 10:13 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 02, 2005 14:22
Beiträge: 81
Gibt es dazu auch irgendwo ein kleines Beispiel in dem die Funktionsweise demonstriert wird?
So ist mir das als Anfänger leider zu wenig.

Trotzdem danke für den Hinweis :!:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 04, 2005 11:21 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Hi, die Funktion heißt gluProject, siehe hier. Such mal im Forum danach, da findste sicherlich einiges.
//edit
Bin nicht sicher, ob das wirklich das ist, was du suchst, ich hab deine Problemstellung nicht ganz verstanden, glaub ich.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 04, 2005 19:29 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 02, 2005 14:22
Beiträge: 81
Das hat mir leider auch nicht weiter geholfen... :cry:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 04, 2005 19:45 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Dann erklär' deine Frage mal genauer... Oder mal ein Bild dazu...

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 04, 2005 20:14 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 02, 2005 14:22
Beiträge: 81
Also, in dem angehängten Bild seht ihr meine Form (grau) und meine schwarze OpenGL Welt auf einem Panel. In der Mitte habe ich ein Koordinatenkreuz in den Ursprung der OpenGL Welt gezeichnet.

Wenn ich jetzt
Code:
  1. procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  2.   Y: Integer);
  3. begin
  4.   StatusBar1.SimpleText := 'X: ' + IntToStr(X) + ', Y: ' + IntToStr(Y);
  5. end;

anwende, zeigt der eingezeichnete Punkt P1 die Koordinaten (0,0), Punkt P3 zeigt z.B. (100,100) und P2 zeigt genau die Mitte des Panels.

Ich möchte jetzt die Punkte P4 vom Ursprung der OpenGL Welt (des Koordinatenkreuzes) kennen. Einen Z-Wert für die Tiefe kann/brauch es nicht geben, aber X und Y berechnet vom Koordinatenkreuz aus müsste man doch ermitteln können, oder?

Ich hoffe es ist jetzt etwas klarer geworden was ich wollte.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 04, 2005 21:24 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
1. Häng' doch bitte dein jpg an und kein Zip-File. Dann wird dein Bild nämlich auch angezeigt
2. Wirklich schlauer bin ich jetzt nicht draus geworden... Ich versuch's mal mit einem eigenen Bild.

Ist es das, was du suchst?


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 04, 2005 21:44 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 02, 2005 14:22
Beiträge: 81
Das mit dem jpg hat nicht funktioniert...daher das zip.

Kommt darauf an, ob deine Funktion get2Dpos mit select arbeitet. Ich habe ja nur einen leeren Raum und da funktioniert das Select glaube ich nicht, oder?
Ansonsten kannst du vielleicht mal einen Quelltext posten wie du dir die Funktion vorstellst...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 04, 2005 22:01 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Wenn du einen leeren Raum hast, also keine sichtbaren Primitives vorhanden sind, wird gar nichts helfen. Wie sollte das dann auch funktionieren? Da wird weder Selection, noch gluProject oder gluUnProject helfen...

Kann es sein, dass du einfach den Satz des Pythagoras suchst?

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 04, 2005 23:27 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Was du brauchst ist wohl eher gluUnProject. Siehe http://wiki.delphigl.com/index.php/GluUnProject

Aber das ist wieder nur Rätselraten. Erzähl uns mal was du machen willst, nicht was du brauchst. Vielleicht bist du auf der falschen Spur und was auch immer du machen willst geht in wirklichkeit viel einfacher.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 05, 2005 13:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 02, 2005 14:22
Beiträge: 81
Ich möchte ganz einfach den Quelltext für ein Programm haben, dass mir die Pixelkoordinaten von einem Panel in Weltkoordinaten meiner OpenGL-Welt umrechnet und anzeigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 05, 2005 14:31 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
Das geht nicht ohne dass du etwas hast, auf das du irgendwann stößt. Ohne primitives gehts nicht.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 05, 2005 14:52 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Bzw um das von Luke zu verfeinen. Es geht schon ohne Primitive. ABER du musst dann von einer festen Tiefe ausgehen und das macht selten wirklich viel Sinn. Mit den Daten X, Y, Projektion kann man einen Strahl berechnen um aber eine Koordinate bekommen zu können braucht man einen Punkt auf dieser Geraden und das ist normal die Tiefe. Nur so zum Verständniss.

Sonst kann ich mich flash aber nur anschließen. Deine Beschreibungen zu dem was du vor hast sind recht dürftig. In dem Falle interessiert uns gerade nicht was du denkst was du brauchst. Vielmehr interessiert und das was du hast und was du als Resultat haben möchtest. Also jetzt kein Wort über deine Koordinaten. ;-) Sondern wie es zum Schluss aussehen soll. Soll das vielleicht so eine Art Editor sein? Also Ala 3D Studio Max oder so? Zu mindest vom Prinzip her?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 05, 2005 15:36 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Feb 02, 2005 14:22
Beiträge: 81
Mmhhhh...also die Z-Koordinate für die Tiefe brauche ich nicht.

Im Bomberman-Tutorial bzw. im Editor für das Spiel legt man doch ganz zu Beginn fest wieviele Felder das Spielfeld haben soll. Zum Beispiel soll das Spielfeld 10 Felder Breit und 10 Felder Lang sein. Das Programm erstellt dann die Spielfläche und ich kann die verschiedenen Objekte (z.B. Spielfiguren) auf die Felder legen. So wie ich das verstehe funktioniert das, weil ich bereits die Felder zu Beginn erstellt habe (10x10) und sie jetzt per select auswählen kann.

So, jetzt stellt euch bitte vor, ihr wollt den selben Editor schreiben, nur ohne vorher angeben zu müssen, dass ihr 10x10 Felder haben wollt. Ihr positioniert einfach diverse Objekte irgendwo im Raum (Ohne Tiefenwerte, also nur 2D) und speichert anschließend die Positionsdaten in einer Datei ab.

Ich hoffe es ist jetzt verständlicher geworden was ich möchte. Ich arbeite übrigens nicht an einem bestimmten Projekt, sondern möchte halt nur für diesen Fall eine kleine Demo schreiben...

cu und vielen Dank für die Geduld :D


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 16 Queries | GZIP : On ]