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

MGBeginner

Frischling

Beiträge: 81

Wohnort: Limburg

  • Private Nachricht senden

11

06.03.2013, 20:30

Du kannst das Sprite ja auch schon vorher mit deiner favorisierten Bildbearbeitung spiegeln und dann eben als separates Bild-Frame laden. So mache ich das in der Regel.

12

06.03.2013, 20:35

Du kannst das Sprite ja auch schon vorher mit deiner favorisierten Bildbearbeitung spiegeln und dann eben als separates Bild-Frame laden. So mache ich das in der Regel.
Stimmt. Daran hatte ich gar nicht gedacht (ich hab es noch nicht so mit Grafikbearbeitung wie man merkt :) ).
Danke dir !

MGBeginner

Frischling

Beiträge: 81

Wohnort: Limburg

  • Private Nachricht senden

13

06.03.2013, 20:46

Aber deinen Gedankengang hatte ich auch schon. Ich arbeite aber noch mit der SDL (ohne die ganzen Zusatzbibliotheken die es da so gibt) und dort scheint es so eine Funktion nicht zu geben. Aber evtl. geht das ja mit der SFML ? (habe da noch keine Erfahrung mit)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

14

06.03.2013, 20:48

Man kann Sprites in SFML skalieren oder transformieren. Eine Skalierung mit -1 dürfte es doch tun.
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]

15

06.03.2013, 21:06

Danke für eure Antworten :) !
Man kann Sprites in SFML skalieren oder transformieren. Eine Skalierung mit -1 dürfte es doch tun.
Also es gibt die Funktion setScale ja , aber die "dreht" die Sprite nicht um wenn man in den negativ Bereich geht. Damit kann man seine Sprites nur in der Größe skalieren und daraus folgt dann das beim Aufruf mit einem negativen Wert die Sprite nicht mehr sichtbar ist...

Die Frage ist auch, was generell sinnvoller wäre. Seine Bild-File "aufzublähen" oder dem Rechner mehr Futter zum rechnen zu geben. Ich denke mal letzteres ist eher kontraproduktiv und demnach wäre es sinnvoller die Bild File zu bearbeiten - oder?

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

16

06.03.2013, 21:16

Ganz im Gegenteil: die zusätzliche Rechenzeit für das Spiegeln dürfte komplett auf der Grafikkarte passieren, und könnte je nach Shader sogar vollständig in der Transformationsmatrix untergebracht werden. Sprich: kostenlos. Dagegen ist Texturplatz bisweilen knapp. Ich würde in jedem Fall alles mitnehmen, was die Grafikkarte zu bieten hat: Rotation, Skalierung, Umfärben, Spiegeln... alles, was geht.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

17

06.03.2013, 21:21

Verdammt, es hätte so einfach sein können :D ...
Dann bleibt es bei der Frage, ob jemand eine Ahnung hat ob und mit welcher Funktion man das ganze in SFML realisieren könnte.

MGBeginner

Frischling

Beiträge: 81

Wohnort: Limburg

  • Private Nachricht senden

18

06.03.2013, 21:22

Wenn ich das so lese denke ich es wird Zeit, mir endlich mal SFML näher anzuschauen :D

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

19

06.03.2013, 21:25

Sprites flippen:
http://en.sfml-dev.org/forums/index.php?topic=7572.0
Man muss dann natürlich mit dem Origin des Sprites aufpassen oder man setzt das Rect wie im letzten Beitrag schon verkehrt herum, das geht wohl problemlos. Den letzten finde ich am unkompliziertesten, weil man den Origin ja ungern immer in der Mitte haben will.
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]

20

06.03.2013, 21:32

Das wäre natürlich super wenn man das direkt mit Rect machen könnte. Nach dem Beispiel von Laurent führt

C-/C++-Quelltext

1
pSprite.setTextureRect(sf::IntRect( 9,7,-21,-38 ));


allerdings zu einem schwarzen sprite, bzw. es wird nicht mehr angezeigt.

ps: flippen nennt sich das?, das muss man auch erstmal wissen :D . . .

Werbeanzeige