2014-02-01 2 views
4

У меня есть фоновое изображение, и это всего лишь 256 x 256, когда мое окно 800 x 600. Я не уверен, как заставить изображение повториться по всему окну. Я в настоящее время загрузки изображения с использованием:Плитка изображения с SFML

sf::Texture Bkg; 
if(!Bkg.loadFromFile("darkPurple.png")) 
{ 
    return -1; 
} 

sf::Sprite Sprite; 
Sprite.setTexture(Bkg); 

и жеребьёвка позже с:

window.draw(Bkg); 

Я пытался использовать:

texture.setRepeated(true); 

, но это не похоже, чтобы помочь.

Спасибо!

+0

В качестве побочного примечания, если вы пытаетесь покрасить свой фон, вам не нужен jpg, вы можете просто использовать это: 'window.clear (sf :: Color (128,0,128));' при условии, что " window "- это объект RenderWindow. – Dovahkiin

ответ

6

После загрузки изображения нужно вызвать setReapeted:

texture.setRepeated(true); 

И после этого, когда текстура нагрузки в вашем спрайта, установите текстуру прямоугольник, чтобы быть к вашему размеру экрана:

sprite.setTexture(texture); 
    sprite.setTextureRect(sf::IntRect(0,0,800,600); 
Смежные вопросы