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

SwatzZ

Treue Seele

  • »SwatzZ« ist der Autor dieses Themas

Beiträge: 119

Beruf: Gymnasist (10. Klasse)

  • Private Nachricht senden

1

08.05.2013, 14:59

[SFML] Wie animiert man?

Nehmen wir mal diese Bilder, die sind alle nebeneinander auf grauem Hintergrund: http://opengameart.org/content/animated-blue-ghost
Wie ich die Position, Bewegung und sonstiges festlege, weiß ich, aber:

- Wie schneide ich die einzelnen Bilder aus? Kann man festlegen, dass der graue Hintergrund ignoriert wird? Gibt es da spezielle Methoden, oder
muss ich da einzeln festlegen, von welchem Pixel bis zu welchem Pixel das jeweilige Bild ist?

- Wie baue ich die Bilder ins Spiel ein, also, dass die einzelnen Bilder nacheinander an die Reihe kommen?

- Gibt es dafür spezielle Befehle in SFML 2.0?

- Gibt es alles erklärende Tutorials dazu?

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

2

08.05.2013, 15:18

Prinzipiell solltest du deine Bilder selbst mit Transparent austatten. Speichere sie dazu als Png und bearbeite die Bilder mit einem Tool deiner Wahl. Gimp ist da sehr hilfreich. Dann sind die Bilder automatisch an den gewünschten Stellen transparent.

Zitat

Wie schneide ich die einzelnen Bilder aus?


Dazu siehe die Doku von sf::Sprite. Da gibt es eine Methode SetTextureRect().

Um eine 2D Animation zu implementieren, muss man halt wie ein Daumenkino arbeiten. Aber ich denke wenn man nach "SFML Animated Sprite Tutorial" sucht, findest du sogar konkrete Beispiele ;)

SwatzZ

Treue Seele

  • »SwatzZ« ist der Autor dieses Themas

Beiträge: 119

Beruf: Gymnasist (10. Klasse)

  • Private Nachricht senden

3

08.05.2013, 15:20

Danke, aber eine Sache noch: Gibt es irgendein Tool, dass die Hintergründer erkennt und sie transparent macht? Oder wie bekomme ich das manuell hin?

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

4

08.05.2013, 15:24

Paint.net oder GIMP.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

5

08.05.2013, 15:38

Bei dem obig verlinkten Ghost ist der Hintergrund doch bereits transparent, oder nicht? *verwirrt*
Ansonsten wurde das meiste ja bereits gesagt, die Bilder an sich haben alle die gleichen Größe, so dass Du den sichtbaren Ausschnitt immer etwas weiter verschieben kannst.

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

6

08.05.2013, 20:27

Wenn du das Prinzip verstanden hast, aber nicht eine eigene Klasse schreiben willst, dann gibt auch noch ein paar Beispiele im offiziellen SFML Wiki und Thor bietet unter anderem auch eine Animationsklasse an.
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

Werbeanzeige