Я пытаюсь сделать интерактивную игру для детей с особыми потребностями, где вы нажимаете на кнопку, и она перемещает фотографию дальше. Однако мне нужна некоторая помощь, потому что когда я запускаю свой код, консоль печатает «...», как и при нажатии на кнопку, а когда вы нажимаете вдали от кнопок, это не так. Там все работает. Независимо от того, где вы нажимаете кнопку выше или ниже, она распознает ее как кнопку. Таким образом, он не может различить guish столбец координат y как не являющийся частью координат кнопки. Помощь будет оценена! Смотрите фотографии: [Окно игры] [1] ... Код:
import pygame
import random
pygame.init()
#define variables
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
background_colour = (255, 255, 255)
(width, height) = (700, 500)
x = 250
y = 100
mpos = pygame.mouse.get_pos()
mpress = pygame.mouse.get_pressed()
Button1 = 'photos/buttonCow.png'
Button2 = 'photos/buttonDuck.png'
Button3 = 'photos/buttonHorse.png'
Button4 = 'photos/buttonSheep.png'
imageOption1 = pygame.image.load(Button1)
imageOption2 = pygame.image.load(Button2)
imageOption3 = pygame.image.load(Button3)
imageOption4 = pygame.image.load(Button4)
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption('Game!')
screen.fill(background_colour)
running = True
def buttons():
if pygame.mouse.get_pos() >= (200, 400):
if pygame.mouse.get_pos() <= (260, 430):
print("horse")
if pygame.mouse.get_pos() >= (300, 400):
if pygame.mouse.get_pos() <= (360, 430):
print("duck")
if pygame.mouse.get_pos() >= (400, 400):
if pygame.mouse.get_pos() <= (460, 430):
print("cow")
if pygame.mouse.get_pos() >= (500, 400):
if pygame.mouse.get_pos() <= (560, 430):
print("sheep")
def displayOptions():
screen.blit(imageOption1, (400, 400))
screen.blit(imageOption2, (300, 400))
screen.blit(imageOption3, (200, 400))
screen.blit(imageOption4, (500, 400))
def whichAnimalFunc():
whichAnimal = random.randint(0, 4)
if whichAnimal == 1:
image = pygame.image.load('photos/cow.png')
screen.fill(WHITE)
screen.blit(image, (x, y))
displayOptions()
pygame.display.update()
if whichAnimal == 2:
image = pygame.image.load('photos/duck.png')
screen.fill(WHITE)
screen.blit(image, (x, y))
displayOptions()
pygame.display.update()
if whichAnimal == 3:
image = pygame.image.load('photos/horse.png')
screen.fill(WHITE)
screen.blit(image, (x, y))
displayOptions()
pygame.display.update()
elif whichAnimal == 4:
image = pygame.image.load('photos/sheep.jpg')
screen.fill(WHITE)
screen.blit(image, (x, y))
displayOptions()
pygame.display.update()
else:
pygame.QUIT
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False # allows quit button to work
if event.type == pygame.MOUSEBUTTONDOWN:
pos = pygame.mouse.get_pos()
print(pos)
buttons()
whichAnimalFunc()
pygame.display.update()```
[1]: https://i.stack.imgur.com/xDCa0.png