用python3移动一个矩形

我正在尝试在 pygame 中移动一个矩形这是我正在尝试工作的代码:


currBlock1 = pygame.draw.rect(surface, (0, 255, 255), (340, 50, 60, 30))

currBlock2 = pygame.draw.rect(surface, (0, 255, 255), (310, 80, 60, 30))

currBlock1.move(340, 80)

currBlock2.move(310, 110)

这里有什么问题吗?


小唯快跑啊
浏览 135回答 1
1回答

梦里花落0921

pygame.Rect.move不移动矩形本身。该方法返回一个新的移动矩形。您必须使用,它可以就地运行。此外, /的参数是偏移量而不是位置: pygame.Rect.move_ipmovemove_ipcurrBlock1.move_ip(0, 30) currBlock2.move_ip(0, 30)实际上,您在每一帧中重新创建相同的矩形。您需要pygame.Rect()在应用程序循环之前构造对象,并且必须在循环中移动它:currBlock1 = pygame.Rect(340, 50, 60, 30)currBlock2 = pygame.Rect(310, 80, 60, 30)# application loopwhile run:    # [...]    pygame.draw.rect(surface, (0, 255, 255), currBlock1)    pygame.draw.rect(surface, (0, 255, 255), currBlock2)    currBlock1.move_ip(0, 30)    currBlock2.move_ip(0, 30)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python