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

21

22.10.2012, 15:44

RE: [SFML2] Map aus Klasse wird nicht gezeichnet

Hallo Kaev

ich selber arbeite noch mit SFML 1.6 daher weiß ich nicht was sich alles geändert hat.

Wenn ich richtig liege dann
* ist texture ein Bild von 32*32 pixel
* dieses Bild übergibst du an die Variable sprite
* dann setzt du ein TextureRect von einem Sprite das ohnehin nur 32*32 pixel groß ist
* dann wird das Sprite in die Texture "gemalt"

Also von daher wird ich sagen schau mal ob du nicht vielleicht doch lieber die SetPosition Verwendest.
(kann auch sein das ich auf dem Holzweg bin, da ich mich noch nicht groß mit SFML 2.0 beschäftigt habe)

Gruß Koschi
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

22

22.10.2012, 15:48

Die Lösung gibt es hier... ;)

TL;DR: Wenn du eine RenderTexture verwendest, dann musst du diese zuerst auch erstellen (mit create())... :hmm:
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/

23

22.10.2012, 15:51

Ich Vermute dein Problem ist das hier:

C-/C++-Quelltext

1
2
sf::Sprite sMap(rMap.getTexture()); // Karte laden
Spiel.draw(sMap); // Karte zeichnen


Du erstellt ja zuerst ein neues Sprite, übergibst das dann an die draw Funktion, aber kurz darauf wird deine Sprite ja gelöscht. Weiß zwar nicht genau wie es funktioniert, aber ich glaube die draw funktion speichert eine Referenz auf dein Sprite und wenn das nicht mehr da ist, kann es dann natürlich nicht dargestellt werden.

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

24

22.10.2012, 16:01

Nein, das passt schon, draw zeichnet in den Buffer und display flipped den Buffer, soweit ich weiß.
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

25

22.10.2012, 16:09

Ah wusst ich garnicht das das so auch geht, aber ok hab mich damit auch nie befasst mir hats immer gerreicht wenn mir sfml das auf den Bildschirm gezaubert hat was ich dort haben wollte. :D

26

22.10.2012, 16:32

Danke nochmal an eXpl0it3r, der sich meinem Problem gewidmet hat und es gelöst hat.
Link zur Lösung seht ihr in seinem Post.
Thread kann nun geclosed werden, zumindest von meiner Seite aus. :)

Werbeanzeige