我仍然遇到轮换问题(请参阅我之前的问题)所以为了解决这些问题,我把问题从我的游戏环境中解决了,看看我是否可以让它旋转而不会混淆我尝试的其他一切去做。 我现在遇到的问题是图像旋转,但它同时也会飞离屏幕。我没有任何移动命令,它只应该旋转到位。 为什么会这样?
这是我的代码:
import pygame
import sys
pygame.init()
size = width , height = 400 , 400
screen = pygame.display.set_mode(size)
car = pygame.image.load("Car3.png").convert()
carRect = car.get_rect()
carRect = carRect.move(200 , 200)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
car = pygame.transform.rotozoom(car ,30 , 1)
screen.blit(car , carRect)
pygame.display.flip()
pygame.quit()
sys.exit()
请注意: 我使用rotozoom的原因是我读到,图像在旋转时会自动调整大小时出现问题。
答案 0 :(得分:0)
你打算在这里使用这两行来实现什么目标?
carRect = car.get_rect()
carRect = carRect.move(200 , 200)
为什么在这里调用Rect.move函数?
你的问题可能是,左上角的blit完成了。我不知道你的图像的尺寸,但它可能是它的旋转"窗外是因为左上角在旋转过程中发生了变化?
这里有点晚了,否则我会自己查阅文档并给你一个更详细的答案。但在此之前:当旋转图像时,我会沿着图像的中心放置它,而不是通过它的左上角。无论哪种方式都可以,我觉得使用中心更容易。