簡體   English   中英

使用__init__設置屬性

[英]Use __init__ to set attribute

我正在嘗試pygame一個簡單的游戲。 我想要一個班級Player這樣我就可以簡單地成為第二或第三位玩家。

我希望播放器具有某些屬性,例如HP。 所以我的代碼是

class Player():
    HP=100
    Speed=5
    ICON=pygame.image.load('somepic.ipg')

但是后來我希望玩家使用不同的圖標或HP,所以我嘗試

class Player():

    def __init__(self,HP,ICON):
    self.HP=HP
    self.ICON=ICON

我的代碼是這樣的:

P1=Player(80,someicon) 
P1.HP=P1.HP-damage

像這樣 但后來我得到了

AttributeError P1 doesn't have attribute.HP

我讀了__init__的文檔,但我不明白為什么它不起作用。 我知道我可以使用:

P1=Player()
P1.HP=80
P1.ICON=someicon

但是我想更多地了解class和__init__

在您的init方法中,您沒有縮進函數def下的行。 self。*作業應進一步縮進。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM