Я надеюсь, что кто-то может мне помочь, я использую SFML 2.1, и когда я рисую свой рендеринг, он просто мерцает, теперь я знаю, что SFML использует два буфера, поэтому я уверен, что никто не рисует вообще, но я не могу понять, почему.SFML мерцающий визуализатор?
Вот мой цикл
while(!quit)
{
rs.Canvas.pollEvent(gameEvent);
colour += 1;
rs.Update(colour);
if(gameEvent.type == sf::Event::Closed)
quit = true;
rs.Canvas.clear(sf::Color(colour,0,0));
rs.Canvas.draw(sprite);
rs.Canvas.display();
if(colour >= 300)
quit = true;
}
в rs.Canvas имеет этот набор
Canvas.setVerticalSyncEnabled(true);
Canvas.setFramerateLimit(60);
Может кто-нибудь понять, почему мой RenderWindow будет мерцать?
Я не знаком с SFML, но может ли это быть вызвано тем, что вы очищаете холст, прежде чем рисовать его? Или это 'Canvas.display()', который на самом деле рисует его на экране? –
В порядке, я просмотрел код, и я обнаружил, что дважды использовал Canvas.clear(), поэтому в основном он очищал передний буфер и задний буфер, поэтому он никогда не устанавливался. его штраф сейчас, удалите вопрос :) – Canvas
Не могли бы вы добавить решение в качестве фактического ответа и принять его, поэтому вопрос будет отмечен как решенный? – Lukas