Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Swoerm

Alter Hase

  • »Swoerm« ist der Autor dieses Themas

Beiträge: 451

Wohnort: 127.0.0.1

  • Private Nachricht senden

1

11.04.2013, 21:41

Sprite drehen mit SDL

Hi,

ich mach grad n kleines Spiel mit der SDL und meine Figur soll sich drehen.
Meine Frage:
Gibt es eine vordefinierte Funktion mit der man Sprites drehen kann?
Und Falls so eine Funktion nicht existiert wie dreh ich dann Sprites?

C-/C++-Quelltext

1
2
    /* Keep the compiler happy */
    return(0);

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

2

11.04.2013, 21:49

Hey,
du könntest das über Umwege lösen wie etwa SDL_gfx, was aber sehr langsam ist. Oder du speicherst die rotierten Sprites seperat ab und lädst diese.

Verwendest du denn dazu OpenGL? Damit würde es nämlich einfach gehen. Ansonsten nur die oben genannten Möglichkeiten.
WIP Website: kevinheese.de

3

11.04.2013, 21:49

Speichere die Drehung doch als animiertes Bild. Ich glaube nicht, dass SDL gedrehte Sprites unterstützt. Da es meines wissens auf DirectDraw aufsetzt. Mit OpenGL oder Direct3D wäre es möglich Texturen zu drehen.

EDIT: Da war KeksX schneller.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

11.04.2013, 21:52

Schon Google gefragt?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Swoerm

Alter Hase

  • »Swoerm« ist der Autor dieses Themas

Beiträge: 451

Wohnort: 127.0.0.1

  • Private Nachricht senden

5

11.04.2013, 22:00

Google sagt nix bis sehr wenig und mit OpenGL und DirectX hab ich keine Erfahrung gäbe es eine Mathematische Lösung?
Und was SDL_gfx betrifft damit hab ich es mit der Funktion rotozoomSurface versucht aber wenn ich sie benutze bekomm ich einen Fehler den ich mir nicht erklären kann.
Und noch ne Frage zu SDL_gfx ich kapier nicht ganz von wem das entwickelt wurde denn auf der normalen SDL Downloadseite ist SDL_gfx nicht.

C-/C++-Quelltext

1
2
    /* Keep the compiler happy */
    return(0);

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

11.04.2013, 22:02

Google sagt nix bisher?
Also wenn ich da nach "sdl rotate sprite" suche, bekomme ich sehr explizite Antworten, wie das wohl geht, speziell wie man rotozoomSurface benutzen sollte und wie nicht.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

7

11.04.2013, 22:39

Ich hab dazu Jonathan Dearborn's SpriG-Library benutzt. Ist ziemlich einfach in der Verwendung. OpenGL und SDL ist auch ziemlich einfach. rotozoom liefert nach meiner Erfahrung keine richtig guten Ergebnisse und man muss u.U. auch noch mit Koordinatentransformation rumhantieren.

Swoerm

Alter Hase

  • »Swoerm« ist der Autor dieses Themas

Beiträge: 451

Wohnort: 127.0.0.1

  • Private Nachricht senden

8

12.04.2013, 19:52

Ich hab jetzt einfach für jede Position bei der Drehung n eigenes Sprite erstellt.
Aber ganz zufrieden bin ich nicht.
Naja man kann ja nicht alles haben...

C-/C++-Quelltext

1
2
    /* Keep the compiler happy */
    return(0);

9

12.04.2013, 23:51

"Aber ganz zufrieden bin ich nicht."

So hab ich das anfangs auch gemacht. Ist natürlich ziemlich Zeitaufwendig jedesmal die Einzelbilder herzustellen (abgesehen davon müssen die ganzen Pixels der Einzelbilder ja auch noch im RAM verwaltet werden), die Zeit, die man auch nutzen könnte sich z.B. in was neues einzuarbeiten.

Werbeanzeige