开发SFML框架
Developing SFML framework
我创建了一个示例,其中我同时打开了 2 个窗口,并且窗口 1 无法在窗口 2 打开时处理事件。我更改了当前窗口的颜色以说明它的工作(当我移动鼠标时,窗口 1 打开,窗口 2 变得越来越绿)。但是,即使窗口 1 无法在窗口 2 打开时处理事件,我仍然无法更改窗口 1 的位置。我希望不能那样做。
#include <SFML/OpenGL.hpp>
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
using namespace std;
sf::Event event;
int main()
{
sf::RenderWindow window1(sf::VideoMode(600, 600), "Window1");
sf::RenderWindow window2(sf::VideoMode(300, 300), "Window2");
int r=0,g=0;
while (window1.isOpen())
{
if(window2.isOpen()==false)
while (window1.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window1.close();
r=(r+1)%255;
}
else
{
while (window2.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window2.close();
g=(g+1)%255;
}
}
window1.clear(sf::Color(r,0,0));
window1.display();
window2.clear(sf::Color(0,g,0));
window2.display();
}
return 0;
}
我该怎么做?
SFML 中没有直接的功能(尽管我希望使用特定于平台的代码是可能的),但有几个解决方法:
- 将窗口样式更改为 sf::样式::无。这既快速又简单,但具有删除标题栏和窗口边框的效果,您可能不需要。
- 通过手动设置每个渲染的位置,或者检查位置变化并反转它来暴力强制窗口位置。
相关文章:
- SFML纹理像播放器
- 如何使用AngelScript注册SFML Vector2运算符
- 如何修复sfml c++代码编译错误
- 在没有Xcode的情况下在Mac捆绑包中嵌入框架
- SFML library: http request
- 落砂模拟碰撞检测C++和SFML
- catch框架有没有办法比较流或文件
- 使用 SFML 和 C++ 将 Pixel 打印到屏幕上
- SFML RenderWindow打开窗口需要很长时间
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 使用Qt框架在c ++类中创建API调用
- 矢量下标超出SFML游戏中的范围
- 获取 SFML 窗口的 HWND 和高可用性?
- 如何在ECS框架中更新组件数据和通知系统
- 将 Vulkan 与 SFML 结合使用?
- SFML 文本未绘制在窗口上
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- 用于C++的静态二进制检测或二进制重写工具和框架
- 开发SFML框架
- 由于SFML框架,OS X上的链接器错误