gpt4 book ai didi

python - 我可以在屏幕上移动pygame游戏窗口吗(pygame)

转载 作者:太空狗 更新时间:2023-10-30 00:05:17 24 4
gpt4 key购买 nike

在我制作的游戏中,我试图在屏幕上移动窗口以进行迷你游戏(不要问),我已经尝试了我看到的自己的线程,但只找到了 1

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)

它不起作用(请记住,我不是 super 有经验,目前将编码作为一种爱好)

最佳答案

检查下面的代码。我有点结合了两个不同的答案,但如果不使用 Tkinter 似乎会很困难。值得庆幸的是,我认为 Tkinter 不会过多地妨碍您的应用程序(在这里似乎很容易工作)。

# Moving a pygame window with Tkinter.
# Used code from:
# https://stackoverflow.com/questions/8584272/using-pygame-features-in-tkinter
# https://stackoverflow.com/questions/31797063/how-to-move-the-entire-window-to-a-place-on-the-screen-tkinter-python3

import tkinter as tk
import os, random

w, h = 400, 500

# Tkinter Stuffs
root = tk.Tk()
embed = tk.Frame(root, width=w, height=h)
embed.pack()

os.environ['SDL_WINDOWID'] = str(embed.winfo_id())
os.environ['SDL_VIDEODRIVER'] = 'windib' # This was needed to work on my windows machine.

root.update()

# Pygame Stuffs
import pygame
pygame.display.init()
screen = pygame.display.set_mode((w, h))

# This just gets the size of your screen (assuming the screen isn't affected by display scaling).
screen_full_size = pygame.display.list_modes()[0]

# Basic Pygame loop
done = False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True

if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
done = True

if event.key == pygame.K_SPACE:
# Press space to move the window to a random location.
r_w = random.randint(0, screen_full_size[0])
r_h = random.randint(0, screen_full_size[1])
root.geometry("+"+str(r_w)+"+"+str(r_h))

# Set to green just so we know when it is finished loading.
screen.fill((0, 220, 0))

pygame.display.flip()

root.update()

pygame.quit()
root.destroy()

关于python - 我可以在屏幕上移动pygame游戏窗口吗(pygame),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520491/

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