首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PyGame中更改表面(游戏窗口)相对于计算机屏幕的位置?

如何在PyGame中更改表面(游戏窗口)相对于计算机屏幕的位置?
EN

Stack Overflow用户
提问于 2014-07-14 13:43:03
回答 2查看 597关注 0票数 0

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

EN

回答 2

Stack Overflow用户

发布于 2016-05-03 18:31:50

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

代码语言:javascript
复制
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)
票数 2
EN

Stack Overflow用户

发布于 2014-07-17 03:56:45

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

代码语言:javascript
复制
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)

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24730142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档