gpt4 book ai didi

python - 如何将特定变量从一个类继承到另一个类?

转载 作者:行者123 更新时间:2023-12-01 00:03:22 25 4
gpt4 key购买 nike

我正在使用 pygame 模块在 python 中制作一款游戏,我希望将一个特定变量从一个类继承到另一个类,但不知道如何继承。我已经尝试过 super() 但它没有起作用,但是,我作为一个新手可能只是意味着我做错了,所以如果它有效,请不要低估它的可能性。

我也在下面的代码中列出了我希望继承的变量。

下面是我的相关代码:

我想继承的类:

class player():
def __init__(self, x, y, width, height, walkCount):
self.x = x
self.y = y
self.width = width
self.height = height
self.vel = 15
self.lastDirection = "right" or "left" or "up" or "down" #<--- variable I want to inherit
self.walkCount = walkCount

def drawCharacter(self, window):
dest = (self.x, self.y)
if self.walkCount + 1 >= 30:
self.walkCount = 0
if self.lastDirection == "left":
window.blit(protagL[0], dest)
elif self.lastDirection == "right":
window.blit(protagR[0], dest)
elif self.lastDirection == "up":
window.blit(protagU[0], dest)
elif self.lastDirection == "down":
window.blit(protagD[0], dest)

我想要继承的类:

class projectile(player):
def __init__(self, x, y, direction, travelCount):
self.x = x
self.y = y
self.direction = direction
self.vel = 20 * direction
self.travelCount = travelCount

def drawBullet(self, window):
dest = (self.x, self.y)
if self.travelCount + 1 >= 15:
self.walkCount = 0
if lastDirection == "right" or "left": # <--- I Want to call lastDirection variable here
if self.travelCount < 15:
window.blit(bulletsP[self.travelCount//3], dest) #dest)
self.travelCount += 1
self.x += self.vel

任何帮助将不胜感激,谢谢。

最佳答案

您必须调用基类的构造函数。请参阅super() :

class projectile(player):
def __init__(self, x, y, direction, travelCount):
super().__init__(x, y, 10, 10, travelCount)
# [...]

请注意,您的示例中宽度和高度的参数不清楚,因此我示例性地使用了 (10, 10)。

关于python - 如何将特定变量从一个类继承到另一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60158275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com