Я супер новый для языка Python.Я хочу перестать отображать сообщение на Sense Hat на Raspberry Pi «MSG перед средней палкой», когда я отпускаю палку, начинаю печатать сообщение «Привет» из метода demo_display_string.
import threading
import time
from sense_hat import SenseHat
busy = True
DISPLAY_STRING = "Hey"
run = False
def demo_display_string(arg_list):
global DISPLAY_STRING
global run
run = True
while run:
sense.show_message(DISPLAY_STRING, text_colour=(255,0,0))
for event in sense.stick.get_events():
if event.action == 'released':
print(event.action)
if event.direction == 'middle':
run = False
def menu():
global CURRENT_POSITION_IN_MENU
busy = False
exists = False
while True:
if not busy:
# msg = positions[CURRENT_POSITION_IN_MENU][1]
msg = "MSG before middle stick"
sense.show_message(msg, scroll_speed=0.05)
for event in sense.stick.get_events():
sense.clear()
if event.action == 'released':
if event.direction == 'middle':
busy = True
demo_display_string(None)
busy = False
sense = SenseHat()
menu()
Кажется, это работает, но проблема в том, что sense.show_message блокируется и не остановится до конца сообщения.Поэтому, когда я нажимаю джойстик в середине «MSG перед средней флешкой», он все равно отображает все сообщение, а после этого начинает отображать «Эй».Я хочу, чтобы это происходило в реальном времени, когда я нажимаю стик, сообщение меняется.