Возникли проблемы с перемещением объекта на экране в Python с помощью pygame

Я новичок в pygame и python в целом. Вчера я начал простой игровой проект с вертолетом, но не могу понять, почему мой вертолет не движется.

Я следовал точно такому же шаблону, что и в учебнике по YouTube, который я смотрел, но все еще не мог заставить изображение двигаться.

import pygame

#GLOBAL CONSTANTS_______________________________________________
pygame.init()

screen_height = 600
screen_width = 1200

black = (0,0,0)
white = (255,255,255)

screen = pygame.display.set_mode((screen_width,screen_height))
title = pygame.display.set_caption("Helicpter game")
clock = pygame.time.Clock()
FPS = 10

heli = pygame.image.load(r"C:\Users\rahul\Downloads\heli1.jpg")
heli = pygame.transform.scale(heli, (150, 150))
def helicopter(x, y):
    screen.blit(heli, (x, y))

x = (0 * screen_width)
y = (0.5 * screen_height)

change_y = 0

gameExit = False
while not gameExit:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            gameExit = True

    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_UP:
            change_y = -2


        elif event.key == pygame.K_DOWN:
            change_y = 2

    if event.type == pygame.KEYUP:
        if event.key ==  pygame.K_DOWN or event.key == pygame.K_UP:
           change_y = 0

    change_y += y

    screen.fill(white)
    helicopter(x, y)

    pygame.display.flip()

clock.tick(FPS)
pygame.quit 

Он не дает мне никаких сообщений об ошибках, но изображение вообще не перемещается.

См. также:  как правильно использовать файлы .kv и .py? - вызов функций из .kv как структурировать .py
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Community

    Вам нужно изменить переменную y, а не change_y:

    change_y += y

    y += change_y
    

    Обратите внимание, координата, определяющая местоположение изображения, — y. change_y используется для изменения этого местоположения.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: