0
我正在嘗試創建一個基本的遊戲,但我對Python編程場景相當陌生。我遇到過兩個階級(玩家和敵人階級)的問題,我想從玩家和敵人那裏獲得類似健康的變量,反之亦然。有什麼辦法做到這一點?如何將變量從一個類傳遞到另一個類?
這裏是更好地強調什麼,我問代碼:
class Player(object):
def __init__(self, image):
self.x = 100
self.y = 240
self.health = 30
self.defense = 25
self.image = image
self.black = (0, 0, 0)
self.draw()
def draw(self):
screen.blit(self.image, (self.x, self.y))
line = pygame.draw.rect(screen, self.black, (80, 300, 100, 5))
def attack(self):
pass
class Enemy(object):
def __init__(self, image):
self.x = 480
self.y = 240
self.health = 20
self.defense = 15
self.image = image
self.black = (0, 0, 0)
self.draw()
def draw(self):
screen.blit(self.image, (self.x, self.y))
line = pygame.draw.rect(screen, self.black, (460, 300, 100, 5))
def attack(self):
pass
基本上,我不明白我怎麼可以像從一個類中的「self.health」,並輕鬆訪問來自其他班級。我嘗試了一些使用返回方法等方法,但我很好奇,如果有任何簡單的方法來做到這一點。幫助表示讚賞!
這些不是」類變量「。您的標題有誤導性。 「來自另一個班級的變量」是可以的。 – zvone
您需要製作這些類的實例,並確保它們是公共的(這會使它們受到編輯)或私有的,這些封裝它們並使它們對外部範圍不可變。你需要方法來返回這些值,如果它們是私人的 –
通常會有一個對象來處理整個遊戲。我們稱之爲「遊戲」。它可以訪問'self.player = Player()'和'self.enemy = Enemy()'。然後很簡單...'game.enemy.health' – zvone