self.rect = pygame.Rect(x,y,width,height) Type

当我制作子弹时,我遇到了这个错误,我不知道为什么它不起作用,因为在我制作子弹类之前,它工作得很好。我尝试重写这部分代码,但没有成功


self.rect = pygame.Rect(x,y,width,height) TypeError:参数必须是矩形样式对象


尽管我确信我写的是正确的,但我不知道如何修复该错误。错误发生在我的玩家类别中


玩家类别以及发生错误的情况


# Class Player

class player:

    def __init__(self,x,y,width,height,color):

        self.x = x

        self.y = y

        self.width = width

        self.height = height

        self.speed = 4

        self.color = color

        self.rect = pygame.Rect(x,y,width,height)

        self.ss1 = pygame.image.load("heroplane1.png")

        self.ss1 = pygame.transform.scale(self.ss1,(self.ss1.get_width()//9,self.ss1.get_height()//9))

    def draw(self):

        self.rect.topleft=(self.x,self.y)

        pygame.draw.rect(window,self.color,self.rect)


        player_rect = self.ss1.get_rect(center = self.rect.center)

        player_rect.centerx += -7

        player_rect.centery += -6

        window.blit(self.ss1,player_rect)


MMTTMM
浏览 91回答 1
1回答

扬帆大鱼

问题出在线路上if&nbsp;len(bullets)&nbsp;<&nbsp;5:&nbsp;&nbsp;#&nbsp;This&nbsp;will&nbsp;make&nbsp;sure&nbsp;we&nbsp;cannot&nbsp;exceed&nbsp;5&nbsp;bullets&nbsp;on&nbsp;the&nbsp;screen&nbsp;at&nbsp;once &nbsp;&nbsp;&nbsp;&nbsp;bullets.append(player(round(playerman.x+playerman.width//2),&nbsp;round(playerman.y&nbsp;+&nbsp;playerman.height//2),&nbsp;6,&nbsp;(255,255,255),&nbsp;white))你正试图通过(255,255,255)高度。它必须是一个数字,而不是一个元组。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python