【发布时间】:2020-10-06 03:19:02
【问题描述】:
我目前正在开发一个游戏,我想创建一个加载屏幕,基本上显示加载所有资源的过程。为此,我决定创建一个单独的线程来处理窗口。我知道可能有更有效的解决方案,但我想创建一个特殊的鼠标光标,这是唯一能让我在应用程序加载大文件时没有错误鼠标的方法。
我阅读了 SFML 教程页面上的线程,我了解到我必须在主线程中执行 window.setActive(false),然后在单独线程中执行 window.setActive(true) 才能访问单独线程中的窗口没有遇到任何问题。这很好用,它不会抛出任何错误,并且可以很好地显示加载屏幕。但是,我无法移动窗口或以任何方式与之交互。加载时鼠标光标被鼠标的蓝色环覆盖,即使我使用sf::Style::Default,我也无法关闭,移动或调整窗口大小,所以应该可以。
谁能帮帮我?
【问题讨论】:
-
一般来说,UI有线程亲和性,你的努力注定会失败。
标签: c++ multithreading c++11 sfml