Nie wiem czy o to Ci chodzi, ale znajdziesz coś o skalowaniu sprita pod "Skalowanie sprajta" - http://cpp0x.pl/kursy/Kurs-SFML-2-x-C++/Podstawy/Przemieszczanie-skalowanie-i-obracanie-sprajtow/484
Skalowanie sprajta Klasa sf::Sprite posiada następujące metody do skalowania: C/C++ void setScale( float factorX, float factorY ); void setScale( const Vector2f & factors ); void scale( const Vector2f & factor ) void scale( float factorX, float factorY ); const Vector2f & getScale() const; Jak można zauważyć, SFML pozwala na modyfikowanie wysokości i szerokości obiektu niezależnie od siebie. Ustawianie skali - metody setScale setScale ustawia skalowanie obiektu względem oryginalnych rozmiarów. C/C++ sprajt.setScale( 1, 2 ); sprajt.setScale( sf::Vector2f( 0.5, 0.5 ) ); W pierwszej linii szerokość sprajta pozostaje bez zmian, a wysokość jest 2 razy większa. W drugiej, szerokość i wysokość są 2 razy mniejsze. Aktualna skala - metoda getScale Metoda getScale zwraca aktualną skalę w formie obiektu sf::Vector2f. Domyślna skala to 1, 1. Modyfikowanie skali - metody scale Metody scale skalują poprzednio wyskalowany obiekt. C/C++ sprajt.setScale( 1, 2 ); sprajt.scale( 2, 1 ); sprajt.scale( sf::Vector2f( 0.5, 0.5 ) ); Po wykonaniu tego kodu, obraz będzie w naturalnych rozmiarach, ponieważ 1 * 2 * 0.5 = 1. Oba poniższe zapisy są równoważne: C/C++ sprajt.scale( 2, 3 ); sprajt.setScale( sprajt.getScale().x * 2, sprajt.getScale().y * 3 );
Skalowanie sprajta
C/C++
void setScale( float factorX, float factorY ); void setScale( const Vector2f & factors ); void scale( const Vector2f & factor ) void scale( float factorX, float factorY ); const Vector2f & getScale() const;
Ustawianie skali - metody setScale
sprajt.setScale( 1, 2 ); sprajt.setScale( sf::Vector2f( 0.5, 0.5 ) );
Aktualna skala - metoda getScale
Modyfikowanie skali - metody scale
sprajt.setScale( 1, 2 ); sprajt.scale( 2, 1 ); sprajt.scale( sf::Vector2f( 0.5, 0.5 ) );
sprajt.scale( 2, 3 ); sprajt.setScale( sprajt.getScale().x * 2, sprajt.getScale().y * 3 );
Chodzi mu o taką funkcję:
sf::Texture getScaledTexture(const sf::Texture & texture, Vector2f scale)
93,733 zapytań
142,669 odpowiedzi
323,287 komentarzy
63,295 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj
Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.