![](/img/trans.png)
[英]Extension 'cogs.reddit' raised an error: TypeError: __init__() missing 1 required positional argument: 'client', how do i fix this?
[英]How do I fix TypeError: __init__() missing 1 required positional argument: 'y'
我目前正在嘗試為我的角色設置碰撞箱,但我似乎無法擺脫這個錯誤。
class Player(pygame.sprite.Sprite):
def __init__(self, x, y):
self.x = x
self.y = y
pygame.sprite.Sprite.__init__(self)
self.image = IronMan
self.rect = self.image.get_rect()
self.rect.y = 475
self.direction = 1
self.hitbox = (self.x + 20, self.y + 11, 28, 60)
def draw(self, win):
self.hitbox = (self.x + 20, self.y + 11, 28, 60)
pygame.draw.rect(win, (255, 0, 0), self.hitbox, 2)
當代碼運行時,我面臨
TypeError: __init__() missing 1 required positional argument: 'y'
看起來您在創建類的實例時沒有提供足夠的參數。 有 2 個選項可以修復它。
例子:
Mark = Player() # Error
Cindy = Player(1) # Error
James = Player(1, 2) # Good!
由於您指定 _ init _ 方法接受 2 個參數,因此在調用它時必須提供 2 個參數。
例子:
def __init__(self, x=0, y=0):
#blabla
現在, _ init _ 方法將自動將參數初始化為 0,如果它不是手動提供的。
Mark = Player() # Mark.x=0, Mark.y=0
Cindy = Player(1) # Cindy.x=1, Cindy.y=0
James = Player(1, 2) # James.x=1, James.y=2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.