import pygame
pygame.init()
screen = pygame.display.set_mode((screen_width, screen_height), pygame.NOFRAME)
怎么把screen放到整个屏幕的左上角?
我可以解决这个问题。
在Pygame中设置窗口位置的一种方法是使用screen对象的set_mode()方法设置窗口大小和位置。可以通过传递一个元组给set_mode()方法来设置窗口大小和位置。
以下是代码示例:
import pygame
pygame.init()
screen_width = 640
screen_height = 480
screen_size = (screen_width, screen_height)
screen_position = (0, 0)
screen = pygame.display.set_mode(screen_size)
pygame.display.set_caption("My Game")
# 设置窗口位置
screen.set_mode(screen_size, 0, screen_position)
# 运行游戏循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# 在显示器上更新屏幕
pygame.display.update()
在上面的代码示例中,screen_position设置为(0, 0),将窗口设置在了屏幕的左上角。
另一种方法是通过窗口的Surface对象的set_at()方法来更改窗口上每个像素的颜色,从而设置窗口位置。以下是代码示例:
import pygame
pygame.init()
screen_width = 640
screen_height = 480
screen_size = (screen_width, screen_height)
screen_position = (0, 0)
screen = pygame.display.set_mode(screen_size)
pygame.display.set_caption("My Game")
# 设置窗口位置
screen.get_at(screen_position)
# 运行游戏循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# 在显示器上更新屏幕
pygame.display.update()
在上面的代码示例中,我们通过调用窗口的Surface对象的get_at()方法,获取了窗口左上角的像素颜色。这可以用来设置窗口位置,但这种方法可能会影响窗口的性能和响应时间。
以上是两种设置Pygame窗口位置的方法,可以根据具体情况选择适合自己的方法。
display.set_mode 试试看
import pygame
# 初始化Pygame
pygame.init()
# 设置屏幕大小和位置
screen_width = 800 # 窗口宽度
screen_height = 600 # 窗口高度
window_position = (0, 0) # 窗口位置,左上角为(0, 0)
screen = pygame.display.set_mode((screen_width, screen_height), pygame.NOFRAME)
pygame.display.set_caption("My Pygame Window")
# 游戏主循环
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 绘制游戏内容
screen.fill((0, 0, 0)) # 填充窗口背景色为黑色
# 更新屏幕
pygame.display.flip()
# 退出游戏
pygame.quit()