2013-05-19 4 views
2

Я делаю базовую игру уровня, где, если я нажму карточку, покажут картинку. Фотографии выбираются случайным образом. и до сих пор я назначил случайные снимки на карту, и карты показаны лицевой стороной вниз. Поэтому, если я нажимаю на карту, я хочу показать назначенное изображение (которое находится в словаре).PYTHON-PYGAME: Как узнать, нажала ли мышь изображение?

Я хочу знать, как я могу обнаружить, если я нажал на изображение (на карте), потому что координаты x, y изображения находятся в верхнем левом углу. Прямо сейчас, я пытаюсь найти способ использовать координаты xy щелчка мыши, чтобы определить, было ли нажато изображение. Есть ли способ, которым я мог бы использовать «сталкиваться» или это слишком усложняло ситуацию? Я начинающий программист, поэтому я все еще пытаюсь изучить python и pygame: |

+1

Если вы все еще застряли сегодня, и мой ответ не помог вам следует вывешивать, некоторые из всего кода вашей работы с потом у вас будет больше шансов получить помощь! – Noelkd

ответ

1

Вместо жесткого кодирования COORDS/с использованием диапазона, используйте функции столкновения:

while True: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      sys.exit() 
     if event.type == pygame.MOUSEBUTTONDOWN: 
      # Set the x, y postions of the mouse click 
      x, y = event.pos 
      if ball.get_rect().collidepoint(x, y): 
       # do swap