我正在设计一个基于生存的游戏,我有困难让玩家从树上收集木材。在
下面的函数检查我的鼠标是否被按下,如果玩家与任何树矩形相撞,它们的木材计数增加一。我用记号来确保每九个记号只加一个木头。在
def check(self):
global tick
if pygame.mouse.get_pressed()[0]:
for tree in resources:
tree_rect=tree.rect
if self.rect.colliderect(tree_rect) and tick>=9:
self.inventory['wood']+=1
tick=0
然而,每当我点击时,木头有时会被添加,有时不会,不管我的玩家类是否与任何树相撞。在
我尝试使用pygame.sprite.spritecollide()
,但结果是一样的。感谢任何帮助。在
完整代码:
^{pr2}$
在
Tree.update
方法中绘制rect
,您将看到哪里出了问题。在您使用}(即
^{pr2}$x
和{topleft
)坐标作为圆的中心点,因此矩形将位于树的右下象限。在请改用
centerx
和centery
坐标:相关问题 更多 >
编程相关推荐