Я делаю программу piano_code с pygame. Я уже сделал функцию фортепиано, но хочу добавить еще немного. Я хочу сохранить свой ввод с клавиатуры в переменной с именем «my_code», когда я оставил клик мышью. Но это не работаетВ pygame: Могу ли я сохранить ввод с клавиатуры в переменной?
import os, sys
import random
import pygame
from pygame.locals import *
My_red_color = (255, 0, 0)
My_blue_color = (0, 0, 255)
My_green_color = (0, 255, 0)
My_yellow_color = (255, 255, 0)
My_black_color = (0,0,0)
My_white_color = (255,255,255)
pygame.init()
APPLICATION_x_size = 800
APPLICATION_y_size = 800
screen = pygame.display.set_mode((APPLICATION_x_size, APPLICATION_y_size))
myImg = pygame.image.load ('E: \ 성빈 \ 고등학교 \ 과학 전람회 \ Pygame фортепиано \ code_input.png')
x=200
y=400
pygame.display.set_caption('Piano')
pygame.mouse.set_visible(True)
#pygame.mouse.set_visible(False)
green_square= pygame.Surface(screen.get_size())
green_square.fill((0, 255, 0))
screen.blit(green_square, (0, 0))
Weeee = True
pygame.draw.rect(screen, My_white_color, (30,100,100,200))
pygame.draw.rect(screen, My_white_color, (132,100,100,200))
pygame.draw.rect(screen, My_white_color, (234,100,100,200))
pygame.draw.rect(screen, My_white_color, (336,100,100,200))
pygame.draw.rect(screen, My_white_color, (438,100,100,200))
pygame.draw.rect(screen, My_white_color, (540,100,100,200))
pygame.draw.rect(screen, My_white_color, (642,100,100,200))
pygame.draw.rect(screen, My_black_color, (81,50,100,200))
pygame.draw.rect(screen, My_black_color, (183,50,100,200))
pygame.draw.rect(screen, My_black_color, (387,50,100,200))
pygame.draw.rect(screen, My_black_color, (489,50,100,200))
pygame.draw.rect(screen, My_black_color, (591,50,100,200))
b=screen.blit(myImg, (x,y))
pygame.display.flip()
while Weeee :
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
print("C")
pygame.mixer.music.load('E:\성빈\고등학교\과학전람회\pygame piano\pygame piano\sound1.mp3')
pygame.mixer.music.play(1,0)
if event.key == pygame.K_s:
print("D")
pygame.mixer.music.load('E:\성빈\고등학교\과학전람회\pygame piano\pygame piano\sound2.mp3')
pygame.mixer.music.play(1,0)
if event.key == pygame.K_d:
print("E")
pygame.mixer.music.load('E:\성빈\고등학교\과학전람회\pygame piano\pygame piano\sound3.mp3')
pygame.mixer.music.play(1,0)
if event.key == pygame.K_f:
print("F")
pygame.mixer.music.load('E:\성빈\고등학교\과학전람회\pygame piano\pygame piano\sound4.mp3')
pygame.mixer.music.play(1,0)
if event.key == pygame.K_g:
print("G")
pygame.mixer.music.load('E:\성빈\고등학교\과학전람회\pygame piano\pygame piano\sound5.mp3')
pygame.mixer.music.play(1,0)
if event.key == pygame.K_h:
print("A")
pygame.mixer.music.load('E:\성빈\고등학교\과학전람회\pygame piano\pygame piano\sound6.mp3')
pygame.mixer.music.play(1,0)
if event.key == pygame.K_j:
print("B")
pygame.mixer.music.load('E:\성빈\고등학교\과학전람회\pygame piano\pygame piano\sound7.mp3')
pygame.mixer.music.play(1,0)
if event.type == MOUSEBUTTONDOWN :
if event.button==1 :
print("Setting Code")
my_code=pygame.key.get_pressed()
print("My code is" + str(my_code))
if event.button == 3 :
print("Type your Code")
code_try=pygame.key.get_pressed()
if code_try==my_code :
print("Done")
else :
print("You've typed wrong code")
.
Что мне делать? Спасибо.
Было бы полезно, если бы вы вставили код проблемы напрямую, а не прикрепляли изображение. – Simon
Нажимаете ли вы какие-либо клавиши, когда вы оставляете клик? –
@PeterWood Совсем нет –