создание функции приказывающей "выстреливать"

нужно что бы функция shot() могла каждый раз, после нажатия пробела, создавала обьект летящий вверх

import pygame 
import random 

pygame.init() 

display_width = 594 #ширина 
display_height = 600 #высота 

display = pygame.display.set_mode((display_width, display_width)) 

user_width = 56 
user_height = 60 
user_x = 269 
user_y = display_height - user_height - 25 
speed = 3

"""set_mode = режим работы"""

display = pygame.display.set_mode((display_width, display_width))# 2 скобки

bullet = pygame.image.load("bullet.jpg") 

def run_game(): 
game = True 
land = pygame.image.load("disp.jpg")
hero = pygame.image.load("ship_img.jpg")
bullet = pygame.image.load("bullet.jpg")
"""выход из игры"""
while game:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()

keys = pygame.key.get_pressed()
if keys[pygame.K_a]:
    left_swipe()
if keys[pygame.K_d]:
    right_swipe()
if keys[pygame.K_SPACE]:
    shot()
"""blit вставление"""
"""fill заполнение"""
bullet_y = user_y - user_width
display.blit(land, (0, 0))
display.blit(hero, (user_x, user_y))
return_to()

pygame.display.update()


"""движениe""" 

def left_swipe(): 
    global user_x 
    user_x -= speed

def right_swipe(): 
    global user_x 
    user_x += speed

"""выход за экран""" 

def return_to(): 
    global user_x 
    if user_x > display_width:
        user_x = -54 
    if user_x < - 55:
        user = display width 

def shot():
"""должен производить выстрел"""

run_game()

Ответы (1 шт):

Автор решения: MaxGlock

По идее, тебе нужно сделать так:

for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()
        elif event.type==KEYDOWN:
            if event.key==K_SPACE:
                shot()

И функция shot() должна сохранять изображение пули, перемещать её в центр твоего героя и обновлять центр пули, вычитая из него координату y Вроде понятно объяснил. Но на всякий случай вот книга, там всё объясняется http://iro23.ru/sites/default/files/e.metiz_-_izuchaem_python._programmirovanie_igr_vizualizaciya_dannyh_veb-prilozheniya_-_2017.pdf

→ Ссылка