是的,这是我在 Python/Pygame 中遇到的所有问题和错误中,对我来说最奇怪的一个。所以我刚刚学会了如何在 Pygame 中旋转某些东西,除了这个 Sprite 之外,它与其他所有东西都工作得很好。
这就是旋转它的原因:rotated_roads = pygame.transform.rotate(roads, angle)
这就是位 block 传送的内容:screen.blit(rotated_roads, (240 + x - 465, 0))
我不知道问题是什么,但它没有按照我预期的方式旋转;对我来说,它看起来就像一个碰撞箱一样在旋转。 [ Sprite 的形状是矩形]我不知道问题是什么,你能帮我吗?
谢谢。
最佳答案
参见How do I rotate an image around its center using PyGame? .
获取原图的矩形并设置位置。获取旋转图像的矩形,并通过原矩形的中心设置中心位置:
rotated_roads = pygame.transform.rotate(roads, angle)
rect = roads.get_rect(topleft = (240 + x - 465, 0))
rotated_rect = rotated_roads.get_rect(center = rect.center)
screen.blit(rotated_roads, rotated_rect)
关于python - 为什么我的 Pygame Sprite 像碰撞盒一样旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65052934/