最近,我开始使用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.
为什么一开始该对象是可调用的,而当我再次尝试调用它时却不可调用
我到处寻找解决方案,并试图先解决它,但我找不到任何对我有帮助的东西。我希望有人能解决这个问题
在
mushrooms.append(mushroom(mushroomblock.loc))
中,您试图在mushroom
不是类或函数时调用它。您可能已将类
mushroom()
的实例称为mushroom
,当它尝试调用该实例时会发生错误。您需要重命名其中一个,您可以使用大写字母M
重命名类Mushroom
相关问题 更多 >
编程相关推荐