【发布时间】:2014-07-14 05:43:03
【问题描述】:
我想改变游戏窗口相对于电脑屏幕的位置。但在文档中找不到任何内容。请帮我。
【问题讨论】:
标签: python pygame pygame-surface
我想改变游戏窗口相对于电脑屏幕的位置。但在文档中找不到任何内容。请帮我。
【问题讨论】:
标签: python pygame pygame-surface
在窗口上,可以使用其句柄 (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)
【讨论】:
您可以使用可以通过 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)
我认为不可能改变已经初始化的显示器的位置,但你可以退出当前显示器,设置环境变量,然后重新初始化。
【讨论】: