gpt4 book ai didi

python - Pyglet:全屏时如何更改分辨率?

转载 作者:太空宇宙 更新时间:2023-11-03 18:39:37 25 4
gpt4 key购买 nike

我正在使用 Pyglet,并且我有一个包含在背景上移动的对象的小东西。它们都由图像(png 和 jpg)表示。

我创建了一个大小为 800x600 的非全屏窗口,它工作正常,但是当我切换到全屏时...背景和对象的大小与以前相同,屏幕的其余部分填充为黑色(空)颜色)。

我想要做的是在切换全屏模式时“缩放”图像或更改分辨率。

我已阅读文档,但找不到答案。

我知道使用 Pygame,这个问题会自动解决(如果您更改窗口大小,所有内容都会自动重新缩放)...但是如何使用 pyglet 做到这一点?

这是我的相关代码:

import pyglet

WIDTH = 800
HEIGHT = 600
working_dir = '/where/i/have/my/images/'

window = pyglet.window.Window(WIDTH, HEIGHT)

background = pyglet.image.load(working_dir + 'background.jpg')
flying_thing = pyglet.image.load(working_dir + 'flying_thing.png')

@window.event
def on_draw():
window.clear()
background.blit(0, 0)
flying_thing.blit(WIDTH // 2, HEIGHT // 2)

@window.event
def on_key_press(symbol, modifiers):
if symbol == pyglet.window.key.SPACE:
window.set_fullscreen(not window.fullscreen)

pyglet.app.run()

您可以尝试将此代码更改为您的工作目录和其中的两个图像。

最佳答案

我没有尝试过,但是来自pyglet docs , blit 支持宽度和高度。它的签名是

blit(self, x, y, z=0, width=None, height=None)

您尝试过使用

background.blit(width=window.width, height=windows.height)

相反? (我不确定 window.width 在全屏上会发生变化,让我们看看......)。

此答案也可能与您的问题相关:https://stackoverflow.com/a/11183462/931303 .

关于python - Pyglet:全屏时如何更改分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20803795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com