Python 如何使用pygame在可调整大小的窗口中绘制矩形的边框?
我试图在pygame中创建一个可调整大小的窗口,其中一个带边框的矩形应该与窗口成固定比例Python 如何使用pygame在可调整大小的窗口中绘制矩形的边框?,python,pygame,drawrect,window-resize,pygame-surface,Python,Pygame,Drawrect,Window Resize,Pygame Surface,我试图在pygame中创建一个可调整大小的窗口,其中一个带边框的矩形应该与窗口成固定比例 import pygame,sys pygame.init() win = pygame.display.set_mode((400,400),pygame.HWSURFACE | pygame.DOUBLEBUF | pygame.RESIZABLE) while True: events = pygame.event.get() for event in events:
import pygame,sys
pygame.init()
win = pygame.display.set_mode((400,400),pygame.HWSURFACE | pygame.DOUBLEBUF | pygame.RESIZABLE)
while True:
events = pygame.event.get()
for event in events:
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.VIDEORESIZE:
pygame.display.set_mode((event.w,event.h),pygame.HWSURFACE | pygame.DOUBLEBUF | pygame.RESIZABLE)
win_width,win_height = pygame.display.get_surface().get_size()
surf = pygame.Surface((round(win_width/2),round(win_height/2)))
surf.fill((255,255,255))
win.blit(surf,(win_width/4,win_height/4))
pygame.draw.rect(surf,(255,0,0),(0,0,surf.get_width(),surf.get_height()),10)
pygame.display.update()
提前谢谢 在白色表面上绘制矩形(
surf
)。因此,您必须在surf
上绘制它,然后才能在win
上单击surf
:
为True时:
# [...]
表面填充((255255))
pygame.draw.rect(surf,(255,0,0),(0,0,surf.get_width(),surf.get_height()),10)
win.blit(冲浪,(win_宽度/4,win_高度/4))
pygame.display.update()
或者,您可以直接在win
上绘制矩形:
为True时:
# [...]
表面填充((255255))
rect=win.blit(冲浪,(win_宽度/4,win_高度/4))
pygame.draw.rect(赢,(255,0,0),rect,10)
pygame.display.update()
在白色表面上绘制矩形(surf
)。因此,您必须在surf
上绘制它,然后才能在win
上单击surf
:
为True时:
# [...]
表面填充((255255))
pygame.draw.rect(surf,(255,0,0),(0,0,surf.get_width(),surf.get_height()),10)
win.blit(冲浪,(win_宽度/4,win_高度/4))
pygame.display.update()
或者,您可以直接在win
上绘制矩形:
为True时:
# [...]
表面填充((255255))
rect=win.blit(冲浪,(win_宽度/4,win_高度/4))
pygame.draw.rect(赢,(255,0,0),rect,10)
pygame.display.update()
您的代码似乎已经根据窗口的大小绘制了一个矩形。。。那么,你到底有什么问题?在运行这段代码时,我在屏幕上看到一个白色的矩形。然而,我打算用这个语句在矩形上画一个红色边框pygame.draw.rect(surf,(255,0,0),(0,0,surf.get\u width(),surf.get\u height()),10)
您的代码似乎已经根据窗口大小绘制了一个矩形。。。那么,你到底有什么问题?在运行这段代码时,我在屏幕上看到一个白色的矩形。然而,我打算用这个语句在矩形上画一个红色边框pygame.draw.rect(surf,(255,0,0),(0,0,surf.get\u width(),surf.get\u height()),10)
非常感谢!谢谢!