0

我想改变游戏窗口相对于电脑屏幕的位置。但在文档中找不到任何内容。请帮我。

4

2 回答 2

2

在 Windows 上,可以使用其句柄 (hwnd) 更改已初始化窗口的位置。其中User32.dll有一个名为MoveWindow的函数,它接收窗口的句柄并更改其位置。您可以使用 python 的标准ctypes模块调用它。

from ctypes import windll

def moveWin(x, y):
    # the handle to the window
    hwnd = pygame.display.get_wm_info()['window']

    # user32.MoveWindow also recieves a new size for the window
    w, h = pygame.display.get_surface().get_size()

    windll.user32.MoveWindow(hwnd, x, y, w, h, False)
于 2016-05-03T10:31:49.963 回答
1

您可以使用可以通过 os.environ 访问的环境变量来设置 pygame 显示初始化的位置。来自http://www.pygame.org/wiki/SettingWindowPosition?parent=CookBook的示例:

x = 100
y = 0
import os
os.environ['SDL_VIDEO_WINDOW_POS'] = "%d,%d" % (x,y)

import pygame
pygame.init()
screen = pygame.display.set_mode((100,100))

# wait for a while to show the window.
import time
time.sleep(2)

我认为不可能更改已初始化显示的位置,但您可以退出当前显示,设置环境变量并重新初始化它。

于 2014-07-16T19:56:45.207 回答