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

Aktuelle Zeit: So Jul 13, 2025 14:47

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



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: verschieben und zoomen der szene?
BeitragVerfasst: Do Aug 25, 2005 08:27 
Offline
DGL Member

Registriert: Fr Aug 12, 2005 21:35
Beiträge: 42
Ich habe mal wieder ne frage.

Und zwar will ich eine 2D szene mit der Maus verschieben doch bekomme ich das noch nich so richtig hin.
Ich versuche das zur zeit so:

bei einem lingsklick und gedrückthalten der linken maustaste hole ich mir die aktuelle mausposition in der Form und leg die x und y koordinaten in variablen.
Wenn nun die linke maustaste gedrückt beleibt und die maus bewegt wird hole ich mir wieder die koordinaten und vergleiche ob die größer oder kleiner sind als die zu erst geholten.
wenn sie größer sind ziehe ich die die in den variablen sind von den aktuellen ab und wenn sie kleiner sind halt umgedreht und erhalte so die pixel um wieviel sich die maus verschoben hat.
Jetzt is nur mein prob das ich glTranslatef() ja nich die pixel übergeben kann die abgezogen oder drauf gerechnet werden sollen bei x und y da ja auch der zoom da noch mit einspielt.

Wie kann ich sowas am besten realisieren denn ich denke das ich mit meinen versuchen auf dem Holzweg bin.

2. frage die ich noch hätte:

wie kann ich wenn ich die szene mit glScalef() zoome bestimmte Polygone die ich zeichne NICHT mit in das zoomen einbeziehen? Das heist das ich die szene schon zoomen will doch bestimmte Polygone sollen nicht mit gezoomt werden.

Ich danke euch schon mal wieder für eure hilfe.

Gruß Nico


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Aug 25, 2005 10:01 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
nicolaus hat geschrieben:
Jetzt is nur mein prob das ich glTranslatef() ja nich die pixel übergeben kann die abgezogen oder drauf gerechnet werden sollen bei x und y da ja auch der zoom da noch mit einspielt.

Da du ja schon 2D hast kannst du den Orthomodus die Grösse deines Fensters übergeben.
Dann kannst du glTranslatef die Pixel übergeben.
Beim Zoom müsstest du nur beachten, dass du vorher die Pixel*1/Zoom nimmst.

nicolaus hat geschrieben:
wie kann ich wenn ich die szene mit glScalef() zoome bestimmte Polygone die ich zeichne NICHT mit in das zoomen einbeziehen? Das heist das ich die szene schon zoomen will doch bestimmte Polygone sollen nicht mit gezoomt werden.

Du "entzoomst" sie einfach wieder mit glScalef(1/Zoom,1/Zoom,1/Zoom).
Danach sind bestimmte Polygone nicht gezoomt. Alternative könntest du die Koordinaten der Objekte auch an die Skalierung anpassen.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.006s | 14 Queries | GZIP : On ]