При работе с спрайтами в приложении Pygame становится необходимым, когда пользователь нажимает на конкретный Sprite. В этой статье рассматривается вопрос об обнаружении щелчков в группах Sprite, в частности, подчеркивая «AttributeError: Group не имеет прямого атрибута« ошибка ».
цель - определить, когда пользователь нажимает на Sprite, принадлежащий конкретной группе по имени Overge1. Для достижения этого создается спрайт, который представляет собой позицию курсора мыши и добавляется к своей собственной группе, мышам. Этот спрайт затем используется для обнаружения столкновений с предположением1 в группе мышей.
. Эта ошибка возникает из -за того, что функция SpriteCollide () требует прямого атрибута на обоих спрайтах для обнаружения столкновений. Сама группа мышей не имеет прямого атрибута, отсюда и ошибка.
, чтобы решить эту проблему, мы можем провести через спрайты в группе мышей и проверить на наличие щелчков мыши на прямое атрибут Sprite:
import pygame
# Get the mouse cursor position
mouse_pos = pygame.mouse.get_pos()
# Loop through the sprites in the mice group
for sprite in mice:
# Check if the mouse cursor is within the sprite's rect
if sprite.rect.collidepoint(mouse_pos):
# Handle the click event on the sprite
# ...
Альтернативно, вы можете напрямую проверить, чтобы нажать на конкретный Sprite:
if guess1.rect.collidepoint(mouse_pos):
# Handle the click event on guess1
# ...
, используя этот подход, вы можете обнаружить, когда нажимается спрайт в группе, позволяя реализации желаемых действий, когда пользователь взаимодействует с этими спрайтами. Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3