我遇到了一个我似乎无法解决的问题。我还没有在stackoverflow上找到它。
关于旋转图像。我在这里的示例中有两个“游戏玩法”,我可以在这里展示问题。如果我点击一行,它会旋转90度。但是在它旋转180度后(这是精确的,因为我确保它确切地以90度,180度,270度等结束),图像不再连接得很好。如果我再旋转180度,那就再好了..
Screen 2, here you see the two lines don't connect well.
我尝试将分辨率更改为不同的像素大小(64,64)和(81,81)。但这并不能解决这个问题。
以下是代码的一部分:
class Piece:
def __init__(self, piece, x, y):
self.image = pygame.image.load(piece)
self.rotated_image = self.image
self.rect = self.rotated_image.get_rect()
self.rect.center = x, y
self.current_degrees = 0
self.degrees = 0
self.values = [0, 1, 0, 1]
def rotate_piece(self):
self.rotated_image = pygame.transform.rotozoom(self.image, lerp(self.current_degrees, self.degrees, 0.3), 1)
self.rect = self.rotated_image.get_rect(center=self.rect.center)
self.current_degrees = lerp(self.current_degrees, self.degrees, 0.3)
def rotate_values(self):
temp = self.values[0]
for i in range(len(self.values) - 1):
self.values[i] = self.values[i+1]
self.values[3] = temp
print(self.values)
pieces = []
piece1 = Piece(images['line'], 32, 32)
piece2 = Piece(images['line'], 96, 32)
pieces.append(piece1)
pieces.append(piece2)