Рассмотрим следующее в SFML:
auto sprite = sf::Sprite();
auto texture = sf::Texture();
sprite.setTexture(*texture);
sprite.setTextureRect(sf::IntRect(0,0,64,64));
window.draw(sprite); // Draws cropped texture
const sf::Texture* _texture = sprite.getTexture(); // Returns full texture
Что это делает: я создаю sf::Sprite
, с указанием sf::Texture
. Позже я делаю setTextureRect()
на спрайте, который 'обрезает' область, которую я хочу от текстуры. Теперь, когда я делаю window.draw(sprite)
, окно dr aws обрезает область. Пока все хорошо.
Но когда я делаю sprite.getTexture()
, возвращается текстура, а не обрезанная. Как получить обрезанную текстуру от спрайта?