3. С помощью цикла нужно создать 8 клавиш (8 экземпляров класса). Каждую клавишу можно сохранить в список. Тогда внутри основного цикла программы нужно перебрать каждый элемент списка и к каждому элементу применить метод .draw()
.
4. С помощью анимации нужно показать активную клавишу. Например, можно изменять цвет границ при касании с курсором мыши. Для этого нужно добавить метод .update()
и описать условие пересечения прямоугольника с координатами мыши.
class Key(pygame.sprite.Sprite):
def __init__(self, x, y):
...
def update(self, x, y):
if self.rect.collidepoint(x, y):
pygame.draw.rect(self.image, (255, 0, 0), (0, 0, 40, 120), 1)
else:
pygame.draw.rect(self.image, (0, 0, 0), (0, 0, 40, 120), 1)
def draw(self):
...
- Если клавиша пересекается с курсором мыши, то границы клавиши будут красными
- А иначе - чёрными
В основной цикл программы нужно добавить проверку события pygame.MOUSEMOTION
:
...
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.MOUSEMOTION:
x = event.pos[0]
y = event.pos[1]
...
...
И для каждого элемента списка вызвать метод .update()
.