Python 让我的球员划桨成一个形象
我正试图把我的球员桨变成一个真实的形象。然而,我不知道该怎么做。我目前正在PlayerPaddle类的init中执行图像分配选项Python 让我的球员划桨成一个形象,python,pygame,Python,Pygame,我正试图把我的球员桨变成一个真实的形象。然而,我不知道该怎么做。我目前正在PlayerPaddle类的init中执行图像分配选项 class Paddle(object): def __init__(self, screen_size, XCenter, YCenter, height, width, color): self.screen_size = screen_size self.XCenter = XCenter self.Y
class Paddle(object):
def __init__(self, screen_size, XCenter, YCenter, height, width, color):
self.screen_size = screen_size
self.XCenter = XCenter
self.YCenter = YCenter
self.height = height
self.width = width
self.color = color
#Create the paddle surface on the sides of the screen
self.rect = pygame.Rect(0, self.YCenter - self.height//2, self.width, self.height)
def draw(self, screen):
pygame.draw.rect(screen, self.color, self.rect, 0)
pygame.draw.rect(screen, BLACK, self.rect, 1)
class PlayerPaddle(Paddle):
def __init__(self, screen_size, XCenter, YCenter, height, width, color):
super().__init__(screen_size, XCenter, YCenter, height, width, color)
self.speed = 5
self.direction = 0
self.score = 0
self.image = pygame.image.load("naruto.png")
self.imagerect = self.image.get_rect()
def draw(self, screen):
super().draw(screen)
screen.blit(self.image, self.imagerect)
现在,我只是在右上角画了一张照片。我该如何解决这个问题呢?只要保持
self.rect
计算在桨类中的状态,并更改这一行:
screen.blit(self.image, self.imagerect)
到
使用原样的代码,您只是告诉pygame在“IAMGERCT”给定的位置绘制图像-但是您的imagerect只有图像的数据,而不是屏幕上的图像位置。因此,它总是在(0,0)处您必须更改
self.rect.y
和self.imagerect.y
来移动它。顺便说一下:rect
有许多有用的字段,比如center
,centerx
,centery`-这样您就可以在适当的位置创建rect
(0,0)-self.rect=pygame.rect(0,0,self.width,self.height
并使用self.rect.centery=self.YCenter
。顺便说一下:通常我不会创建self.YCenter
,self.YCenter
,self.YCenter
,因为我在self.rect.centery`中有它,当我更改self.rect.y
或self.rect.left
或瑟斯。
screen.blit(self.image, self.rect)