Python 3.x 游戏障碍
我正在做一个Pygame游戏。游戏的前提是你必须避开从屏幕底部开始的障碍物,然后向上移动,以产生玩家摔倒的错觉。我已经有了一个玩家精灵,需要障碍类的帮助。当我尝试初始化我的障碍类时,我得到一个错误Python 3.x 游戏障碍,python-3.x,pygame,Python 3.x,Pygame,我正在做一个Pygame游戏。游戏的前提是你必须避开从屏幕底部开始的障碍物,然后向上移动,以产生玩家摔倒的错觉。我已经有了一个玩家精灵,需要障碍类的帮助。当我尝试初始化我的障碍类时,我得到一个错误 class Obstable(pg.sprite.Sprite): def __init__(self, color, width): pg.sprite.Sprite.__init__(self) self.image = pygame.sur
class Obstable(pg.sprite.Sprite):
def __init__(self, color, width):
pg.sprite.Sprite.__init__(self)
self.image = pygame.surface([width, 50])
self.image.fill(black)
self.rect = self.image.get_rect()
BLACK = (0,0,0)
obst1 = Obstacle(BLACK, 100)
该类名为Obstable,您将其实例化为障碍。简单的打字错误。
如果包含NameError异常,则会更容易。说我得到一个错误是没有帮助的。首先,您的类被命名为Obstable。看到问题了吗?您需要将其更改为“障碍”。这应该可以解决第一个问题。一旦您解决了这个问题并运行了代码,您应该会遇到另一个错误 您的第二个问题似乎是您正在引用障碍类中未定义的变量
class Obstable(pg.sprite.Sprite):
def __init__(self, color, width):
pg.sprite.Sprite.__init__(self)
self.image = pygame.surface([width, 50])
self.image.fill(black)
self.rect = self.image.get_rect()
错误在这里:
self.image.fill(black)
变量black未定义。相反,您需要将black更改为self.color,但在此之前,必须初始化self.color。我为您修复了代码:
class Obstacle(pg.sprite.Sprite):
def __init__(self, color, width):
self.color = color
pg.sprite.Sprite.__init__(self)
self.image = pygame.surface([width, 50])
self.image.fill(self.color)
self.rect = self.image.get_rect()
BLACK = (0,0,0)
obst1 = Obstacle(BLACK, 100)
希望我的回答能对你有所帮助 看起来你想让我们为你写些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是包括您迄今为止编写的代码、示例输入(如果有)、预期输出以及您实际获得的控制台输出、回溯等。。你提供的细节越多,你可能得到的答案就越多。检查和。我现在的问题是,当我尝试创建障碍物的实例时出错。我将编辑我到目前为止的代码。