我用pylet编写了一个游戏。它使用一个宽度为1600,高度为900的静态窗口,假设用户有一个全高清显示器,那么所有东西都可以看到。然而,在一些设备(带有小显示器)上,窗口比预期的要大得多。我发现设置了像素_比率(例如设置为2.0),使每个虚拟像素在物理像素中显示两倍大小(2x2)
我想阻止这种行为,但不知道如何,我知道我可以通过get_pixel_ratio()轻松获得像素比率,但实际上我不知道如何设置它们或阻止pyglet自动设置它们
我还尝试使用glViewport,它似乎有效果,但它没有按照我想要的方式工作
那么,我怎样才能改变像素比或防止自动改变它呢
在官方discord服务器中询问信息时,我试图用一些代码重现问题,这是我用来测试它的:
代码并不重要,因为变量
pixel_ratio
只是,我引用:“指示窗口中的实际像素数大于创建的窗口大小。”这是OSX为应对高DPI而做的事情,使用这些信息,您应该能够相应地缩放图形
Window.get_framebuffer_size()
将显示请求的窗口大小和帧缓冲区大小的差异(如果有)因此,实际放大的唯一方法是使用
glScale
,或者如果使用精灵,则可以使用Sprite.scale
来缩放图像数据。如果你使用2D图形,我会选择sprite选项,因为它很容易使用相关问题 更多 >
编程相关推荐