Hallo,
Ich habe ein kleines Problem mit meiner Animation. Es wird immer zuviel vom eigentlichen Image angezeigt. Hier ein Screenshot:
http://s1.directupload.net/file/d/3059/on7pdkn9_jpg.htm
Ich benutze IntRect, welches mir erlaubt nur einen gewissen Teil der Textur anzuzeigen. So sieht das bei mir im Code aus:
|
C-/C++-Quelltext
|
1
2
|
spriteImage.setTextureRect(sf::IntRect(currentFrameX, currentFrameY * getFrameHeight(),
currentFrameX + getFrameWidth(), currentFrameY * getFrameHeight() + getFrameHeight()));
|
Das obere sind die Anfangspunkte des Rects, die unteren Parameter die Endpunkte. Und eben bei den Endpunkten geht immer irgendetwas schief...
Angenommen currentFrame ist = 0. Dann müsste der Endpunkt von currentFrameX = currentFrameX + getFrameWidth() sein. getFrameWidth() gibt als Rückgabewert genau die Breite eines Bildes von der Animation aus. Dieser Wert bleibt immer Konstant, weshalb ich schonmal nicht verstehe, wieso die Breite meines Rects, welches angezeigt wird variiert.
Es wäre schonmal hilfreich, wenn ich wenigstens das Problem mit der Breite lösen könnte, denn ich denke auf ganz ähnliche Weise passiert das auch mit der Höhe.
Könnt ihr euch vielleicht denken, woran das liegt?
Bin für jede Hilfe dankbar...
Gruß,
Luca