Python3:“蘑菇”对象不可调用

2024-09-20 03:47:55 发布

您现在位置:Python中文网/ 问答频道 /正文

最近,我开始使用python3和pygame创建一个Mario克隆。到目前为止,我已经设法让基本游戏工作,但有一个问题与蘑菇

每当我碰撞块时,块就会碰撞,变为空块。蘑菇播放动画并开始移动,它具有重力、运动和碰撞。玩家可以吃它来增加分数或大小

但是,

如果我去碰另一个蘑菇块,就会发生这个错误

TypeError: 'mushroom' object is not callable engine.py, line 789***

这就是产生错误的地方:

if mushroomblock.bumpingfinish:   
        empty_what_blocks.append(empty_what_block(mushroomblock.loc)) # Make a empty block at the location of the mushroom block after Mario bumps on it.        
        mushrooms.append(mushroom(mushroomblock.loc)) # Create a mushroom object at the location of the mushroom block
        mushroom_blocks.remove(mushroomblock) # Remove the coin object from the location.

为什么一开始该对象是可调用的,而当我再次尝试调用它时却不可调用

我到处寻找解决方案,并试图先解决它,但我找不到任何对我有帮助的东西。我希望有人能解决这个问题


Tags: theobject错误locationblockwhatlocat
1条回答
网友
1楼 · 发布于 2024-09-20 03:47:55

mushrooms.append(mushroom(mushroomblock.loc))中,您试图在mushroom不是类或函数时调用它。
您可能已将类mushroom()的实例称为mushroom,当它尝试调用该实例时会发生错误。您需要重命名其中一个,您可以使用大写字母M重命名类Mushroom

相关问题 更多 >