Pygame图像随着旋转而移动

时间:2014-04-17 20:21:10

标签: python rotation pygame

我仍然遇到轮换问题(请参阅我之前的问题)所以为了解决这些问题,我把问题从我的游戏环境中解决了,看看我是否可以让它旋转而不会混淆我尝试的其他一切去做。 我现在遇到的问题是图像旋转,但它同时也会飞离屏幕。我没有任何移动命令,它只应该旋转到位。 为什么会这样?

这是我的代码:

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的原因是我读到,图像在旋转时会自动调整大小时出现问题。

1 个答案:

答案 0 :(得分:0)

你打算在这里使用这两行来实现什么目标?

carRect = car.get_rect()
carRect = carRect.move(200 , 200)

为什么在这里调用Rect.move函数?

你的问题可能是,左上角的blit完成了。我不知道你的图像的尺寸,但它可能是它的旋转"窗外是因为左上角在旋转过程中发生了变化?

这里有点晚了,否则我会自己查阅文档并给你一个更详细的答案。但在此之前:当旋转图像时,我会沿着图像的中心放置它,而不是通过它的左上角。无论哪种方式都可以,我觉得使用中心更容易。