Registriert: Di Dez 13, 2011 19:14 Beiträge: 166 Wohnort: Hamburg / Mölln
Programmiersprache: D
Hallo zusammen. Eine frage: Ich rotiere gerade ine TileMap mit
Code:
glRotatef(25, 0, 0, 1f);
Das klappt auch, aber es rotiert um die obere linke Ecke. Hier ein vorher-nachher Bild:
Muss ich bei jeder Rotation auch ein korrespondierendes glTranslate(...) machen, um die Rotation um die obere linke Ecke auszugleichen? Wenn ja, wie berechne ich, um wie viele Pixel ich verschieben muss? Oder geht das insgesamt auch anders? Danke.
Registriert: Mi Apr 13, 2011 22:05 Beiträge: 218
Programmiersprache: Lazarus/FPC
Stell dir eine Art Zeichenpinsel vor mit dem du das Objekt malst. Der ist grundsätzlich in der oberen linken Ecke, wie dein Beispiel schön demonstriert. Jetzt musst du überlegen, WO ist der Rotationspunkt vom Bild. Das wäre die Bildschirmmitte, um diesen Punke dreht sich alles wenn du die map rotieren willst. Also machst du folgendes, du bewegst den Zeichenpinsel in die Mitte der Zeichenfläche, rotierst dort, und gehst wieder mit dem Pinsel retour:
Registriert: Di Dez 13, 2011 19:14 Beiträge: 166 Wohnort: Hamburg / Mölln
Programmiersprache: D
Flash hat geschrieben:
Schau dir auch nochmal Tutorial_Matrix2 bzw. die Bilder dort an.
PS: Nettes Bild. Wann gibts Infos zum Projekt?
Ist quasi schon oben, wird aber noch gerade gefixt, habe noch einige Fragen an euch . Werde aber bis Ende der Woche mal den Link posten. Hier am besten direkt. Es sei aber soviel gesagt, dass es kein Spiel ist sondern eine Art Framework das lediglich OpenGL und SDL kapselt. Damit kann man dann letztlich Spiele entwerfen.
Mitglieder in diesem Forum: Bing [Bot] 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.