python - 为什么我的 Pygame Sprite 像碰撞盒一样旋转?

标签 python pygame rotation pygame-surface blit

是的,这是我在 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/

相关文章:

python - 如何在 gitpod 中导入 pygame?

python-3.x - pygame多线程,程序崩溃

python - 方法对象不可订阅

javascript - 连接两个动态创建的选择元素

python - Pygame 窗口保持空白

html - 以页面为中心旋转圆圈

Android相机结果图像应在捕获后旋转?

ios - SKPhysicsJoint 使旋转无法正常工作

python - 如何确定机器学习模型的最佳阈值(随机森林)

python - 如何在python opencv中保存光流输出?