SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › Вид камеры и GUI › Ответ в теме: Вид камеры и GUI
//Некропостинг но
При изменении размера окна getDefaultView будет давать нам в распоряжение рястянутое/сплюснутое изображение GUI (т.к. возвращаеться View созданный при инициализации, я полагаю).
Что бы с этим не сталкиватся когда начал переписывать свой движок на шарп в Main loop’е выделил отдельный метод ля отрисовки GUI который не должен смещаться.
C++
1 2 3 4 5 6 7 8 9 10 11 12 |
/* onUpdate section passed */ /* ... */ window.setView(view); states.back().onDraw(window);//Draw things Vector2f re = view.getCenter();//Store view center position view.setCenter(view.getSize().x / 2, view.getSize().y);//Move cam to 0,0 window.setView(view); states.back().onGuiDraw(window);//Draw Gui things view.setCenter(re);//Return view position window.setView(view); |
Ну а отлавливать изменение размера окна нужно в window.pollEvent(event);
C++
1 2 3 4 5 |
if (event.type == sf::Event::Resized) { view.setSize(event.size.width, event.size.height); window->setView(view); } |