Реализация многопоточности в pygame
Пишу простенькую игру с видом сверху на pygame. Есть несколько модулей всё такое. При нажатии лкм персонаж начинает двигаться в точку куда была нажата лкм. Но есть одна проблема, догадаться о способе решения которой мне пока не удалось: как заставить персонажа поменять маршрут прямо во время движения при нажатии лкм?
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
if event.type == pygame.MOUSEBUTTONUP:
Mouse_Position = X_Click_Pos, Y_Click_Pos = pygame.mouse.get_pos()
print(Mouse_Position)
for Subject in Subjects.All_Subjects['TactileObjects']:
if not ((Subject.X_Cord + Subject.Hit_Box_Width > X_Click_Pos > Subject.X_Cord) and
(Subject.Y_Cord + Subject.Hit_Box_Height > Y_Click_Pos > Subject.Y_Cord)):
Warrior_one.directional_movement(X_Click_Pos, Y_Click_Pos)
Ответы (1 шт):
Автор решения: валерий
→ Ссылка
Я бы сделал так:
def add_Notify():
if trhead == 0:
pygame.threads.__nonzero__()
pygame.threads.start()
def run_loop():
running =True
while running:
add_Notify()
for i in pygame.event.get():
if i.type == pygame.QUIT:
running = False
clock.tick(FPS)
pygame.display.update()
run_loop()
Осталось вставить в этот код ваш.