在我的游戏中,我想这样做,以便每当我的鼠标移到玩家库存中的插槽上时,如果插槽中有物品,就会弹出一个信息窗口。但是,我想到的唯一方法是每当鼠标光标移动时,遍历所有清单插槽对象,并检查鼠标光标的x和y是否在插槽内。
这是每当鼠标光标移动以检查光标是否在库存位置对象(if event.type == pygame.MOUSEMOTION
)内的代码:
for slot in self.inventory:
if slot.rect.collidepoint(pygame.mouse.get_pos()) and slot.item is not None:
# show information window if True
pass
尽管这样做有效,但由于循环使鼠标光标移动时,它会使游戏滞后。
有什么方法可以进行这种检查而不用检查播放器清单中的每个插槽吗?
答案 0 :(得分:0)
解决了。
每当我将鼠标悬停在插槽上时,我都希望它们也亮起。事实证明,每次我移动鼠标进行此操作时,我都会打电话给pygame.image.load
。对其进行了更改,以使其已经预先加载,而我只是在图像之间切换,并且滞后停止了。
再次感谢!