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
你打算通过这两行代码实现什么呢?
carRect = car.get_rect()
carRect = carRect.move(200 , 200)
你为什么在这里调用Rect.move这个函数呢?
你的问题可能是,图像的绘制是从左上角开始的。我不知道你图像的具体尺寸,但有可能是因为在旋转过程中,左上角的位置发生了变化,导致图像“旋转”出窗口了?
现在有点晚了,要不然我会自己查一下文档,给你一个更详细的回答。不过在此之前:在旋转图像时,我建议用图像的中心来放置,而不是用左上角。两种方法都可以,但我觉得用中心更简单。