pygame

时间:2016-12-11 14:03:52

标签: pygame

我遇到了一个我似乎无法解决的问题。我还没有在stackoverflow上找到它。

关于旋转图像。我在这里的示例中有两个“游戏玩法”,我可以在这里展示问题。如果我点击一行,它会旋转90度。但是在它旋转180度后(这是精确的,因为我确保它确切地以90度,180度,270度等结束),图像不再连接得很好。如果我再旋转180度,那就再好了..

Screen 1, nothing bad here:

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)

0 个答案:

没有答案