01/10/2018, 00:40 
               
            Cách load hình ảnh trong SFML
Đang tìm hiểu về SFML mọi người ơi, e muốn load một cái background lên mà không biết cách nào để nó hiện lên toàn màn hình cả. Ai có kinh nghiệm làm về SFML giúp em với
đây là code của e:
#include "stdafx.h"
#include <SFML/Graphics.hpp>
using namespace sf;
int main()
{
	// Create a video mode object
	VideoMode vm(1920, 1080);
	// Create and open a window for the game
	RenderWindow window(vm, "Timber!!!");
	// Create a Texture tp hold a graphic on the GPU
	Texture textureBackground;
	// Load a graphic into the texture 
	textureBackground.loadFromFile("Graphics/graphics/background.png");
	// Create a sprite
	Sprite spriteBackground;
	// Attach the texture to the sprite
	spriteBackground.setTexture(textureBackground);
	// Set the spriteBackground to cover the screen
	spriteBackground.setPosition(0, 0);
	while (window.isOpen())
	{
		if (Keyboard::isKeyPressed(Keyboard::Escape)) 
		{
			window.close();
		}
		// Clear everything from the last run frame  
		window.clear();
		// Draw our game scence here
		window.draw(spriteBackground);
		// Show everything we just drew
		window.display();
	}
	return 0;
}
khi chạy nó chỉ lên nht thôi ạ:

trong khi cái background của e là vầy:

            Bài liên quan
         
                
            




ảnh của em có kích cỡ bao nhiêu? Cái window em tạo có kích cỡ 1920x1080 cái ảnh có đúng kích cỡ vậy ko?
cái sprite của em có lẽ tâm của nó là ở trung tâm của texture? Cái này hơi lạ vì đáng lẽ tâm nó phải là góc trên bên trái…
em thử code này coi có đúng ko
Được rồi anh ơi, cảm ơn a nhiều lắm, tại e mới mò nên còn gà mờ quá
mà mình có cách nào để kéo hình ra như đúng kích cỡ của window tạo ra ko a. Thường mình tạo window trước rồi mới tới tạo texture với Sprite chứ a
em xài phương thức
setScalecủasf::Spriteđể thay đổi kích cỡ cho cái sprite cho đúng với kích cỡ màn hình.nhưng nếu ko đúng tỉ lệ thì nó xấu lắm. Vd ảnh nền có tỉ lệ 4:3 mà em bung ra toàn màn hình tỉ lệ 16:9 thì nó scale mất cân đối.