我试图熟悉pygame,所以我从一个简单的程序开始,画一个矩形,并用鼠标移动它。矩形画得很好,但它没有移动鼠标的位置,我不知道为什么
我发现另一个有这个问题,但这个修复没有工作,为我和更冗长的比我觉得它需要
pygame.init()
screen = pygame.display.set_mode((500,300))
# --- mainloop / event loop ---
running = True
playerstartposX = 100
playerstartposY = 100
playerwidth = 50
playerheight = 50
screen.fill((30,30,30))
newrect = pygame.draw.rect(screen, (255,0,0) , ( playerstartposX ,
playerstartposY ,
playerwidth ,
playerheight))
pygame.display.update()
while running:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == 4: #if event is mouse motion
newrect.move(event.pos) #move the rectangle to mouse pos
pygame.display.update()
pygame.quit()
首先,您需要检查的事件类型是
pygame.MOUSEMOTION
(我相信是1024?),您要检查的是4然后您必须在主循环的每次迭代中重新绘制rect以反映更新的位置
4
不是事件类型。事件类型是MOUSEMOTION
(参见^{创建^{} 对象:
事件发生时改变其位置:
在主应用程序循环中,您必须不断地
如果要控制每秒帧数,则可以将参数传递给^{} 的方法^{} ,而不是
pygame.time.delay
:相关问题 更多 >
编程相关推荐