首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整SFML窗口的大小非常丑陋

调整SFML窗口的大小非常丑陋
EN

Stack Overflow用户
提问于 2020-04-27 03:46:29
回答 1查看 529关注 0票数 0

当我调整我的sfml窗口的大小时,当我把resize切成小的,再把它变大的时候,它会给你一种非常奇怪的效果。

如何使调整大小更美观?代码来自code::blocks的安装教程。代码(与sfml网站上Code::块的安装教程中的代码相同):

代码语言:javascript
复制
#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-27 20:58:12

您需要管理窗口大小的调整。否则坐标就是错误的。以下是您的代码和解决方案的摘录。致谢给这个论坛帖子的作者,这是我在寻找解决方案时找到它的地方:https://en.sfml-dev.org/forums/index.php?topic=17747.0

此外,还可以根据新的大小设置新的坐标。该链接为您提供了更多信息。

代码语言:javascript
复制
// create own view
sf::View view = window.getDefaultView();

while (window.isOpen())
{
    sf::Event event;
    while (window.pollEvent(event))
    {
        if (event.type == sf::Event::Closed)
            window.close();

        if (event.type == sf::Event::Resized) {
            // resize my view
            view.setSize({
                    static_cast<float>(event.size.width),
                    static_cast<float>(event.size.height)
            });
            window.setView(view);
            // and align shape
        }
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61447069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档