Как правило, если вы хотите сделать что-то подобное, вам нужно использовать игровой цикл .В общих чертах вы определяете функции, которые проверяют, что нужно обновить (игрок, враги, патроны, предметы и т. Д.), А затем обновляете каждый из них.
В этом случае вы хотите, например,массив пуль.Вы анимируете каждый кадр.Когда вы нажимаете кнопку, вы добавляете новую пулю в массив.Как только эта пуля окажется в массиве, она будет «двигаться сама по себе».Если это имеет смысл.