最近,我进入了SFML,为了获得更多的舒适(和乐趣),我开始翻译由Daniel在他的Youtube频道“编码列车”上完成的一些编码挑战。在尝试翻译SFML中的星场效应时,我开始在SFML中搜索将世界起源从屏幕的左上角到中心的右函数。我发现最接近这个函数的是setOrigin函数,但它只适用于精灵,而不是整个窗口/屏幕。如果您不理解我对这个函数的描述,它将相当于处理过程中的翻译(x,y)函数。任何帮助都将不胜感激。
发布于 2020-06-28 14:22:11
您需要使用sf::View https://www.sfml-dev.org/tutorials/2.5/graphics-view.php
下面是一个小的实现示例:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(300, 300), "");
sf::Vector2u size = window.getSize();
sf::View view(sf::Vector2f(0, 0), sf::Vector2f(size.x, size.y));
window.setView(view);
sf::CircleShape cir(10);
cir.setOrigin(10, 10);
while(window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
if (event.type == sf::Event::Closed)
window.close();
window.clear();
window.draw(cir);
window.display();
}
return 0;
}https://stackoverflow.com/questions/62621857
复制相似问题