在做了一些研究之后,似乎将VertexArrays用于一次将很多精灵画到屏幕上的最高效方法,但我正在努力如何去做。我尝试过使用sfml论坛,但我见过的每个例子都来自过时的代码,至今为止我都有。在sfml中使用vertexArray的正确方法是什么?
int main()
{
sf::VertexArray lines(sf::LinesStrip, 4);
lines.append(sf::Vertex(sf::Vector2f(0, 0),sf::Vector2f(0, 0)));
lines.append(sf::Vector2f(0, 50));
lines.append(sf::Vector2f(250, 50));
lines.append(sf::Vector2f(250, 0));
sf::Texture text;
text.loadFromFile("Content/StartGame.png");
sf::RenderStates rend(&text);
sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML Graphics");
// Start game loop
while (App.isOpen())
{
// Process events
sf::Event Event;
while (App.pollEvent(Event))
{
// Close window : exit
if (Event.type == sf::Event::Closed)
App.close();
}
App.clear();
App.draw(lines, &text);
App.display();
}
}
我有形状图,但是当我尝试应用到纹理也没有画。
纹理如何应用呢? – user1725794 2013-03-21 22:23:48
顶点类具有类成员texCoords,您可以使用它指定纹理线[0] .texCoords = sf :: Vector2f(x,y);' – Fouf 2013-03-27 13:02:34