В моей игре я хочу сделать так, чтобы всякий раз, когда моя мышь перемещалась по слотам в инвентаре игрока, появлялось информационное окно, если в слоте есть предмет.Тем не менее, единственный способ сделать это - циклически перемещаться по всем объектам слота инвентаря при каждом перемещении курсора мыши и проверять, находятся ли 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
Хотя это работает, оно делает игрузапаздывание всякий раз, когда курсор мыши перемещается из-за цикличности.
Могу ли я выполнить такую проверку без прохождения каждого из слотов в инвентаре игрока?