Я хочу переместить полигон Pygame с помощью клавиатуры при получении данных Bluetooth от смартфона. При получении сигнала Bluetooth на экране появляется многоугольник, но он не может двигаться с помощью клавиатуры. Я поставил только двигаясь вверх. Как я могу двигаться один ......
import pygame, sys
from pygame.locals import *
pygame.init()
import RPi.GPIO as GPIO
import numpy as np
import bluetooth
DISPLAYSURF = pygame.display.set_mode((500,400), 0, 32)
pygame.display.set_caption('Drawing')
BLACK = (0,0,0)
WHITE = (255,255,255)
GREEN = (0,255,0)
DISPLAYSURF.fill(WHITE)
pygame.display.update()
server_socket = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
port = 1
server_socket.bind(("", port))
server_socket.listen(1)
client_socket, address = server_socket.accept()
print ("Accepted connection from ", address)
def get_data():
data = client_socket.recv(1024)
return data
p = np.array([[146,0],[291,106],[236,277],[56,277],[0,106]])
координаты многоугольника
while True:
pygame.display.update()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
data = get_data()
if data == '0':
DISPLAYSURF.fill(WHITE)
pygame.draw.polygon(DISPLAYSURF, GREEN, ((p[0][0],p[0][1]),(p[1][0],p[1][1]),(p[2][0],p[2][1]),(p[3][0],p[3][1]),(p[4][0],p[4][1])))
if event.type == KEYDOWN:
if event.key == K_UP:
p[0][1]-=2
p[1][1]-=2
p[2][1]-=2
p[3][1]-=2
p[4][1]-=2
if event.type == KEYUP:
p=p