Я новичок в 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
Он не дает мне никаких сообщений об ошибках, но изображение вообще не перемещается.
Вам нужно изменить переменную
y
, а неchange_y
:change_y += y
Обратите внимание, координата, определяющая местоположение изображения, —
y
.change_y
используется для изменения этого местоположения.