Как прикрепить изображение к прямоугольнику в Pygame? - PullRequest
0 голосов
/ 05 февраля 2019

Мне нужна помощь в прикреплении изображения к прямоугольнику в Pygame. Я пытаюсь сделать игру со змеями в Python (вы знаете, тот, который ест яблоки и растет LOL), и я хочу прикрепить лицо моего учителя к головезмея.

Я уже пытался определить переменную для импорта изображения, а затем переименовать прямоугольник в это изображение, но, похоже, ничего не работает.

snakeFace = pygame.image.load("Morrison.jpg").convert_alpha()
rect = snakeFace.get_rect()
screenWidth = 500
X=50
y= 50
height = 20
vel = 20
run = True
lastKey = None
while run:
    pygame.time.delay(10) #1/2 milisecond delay
for event in pygame.event.get():
    if event.type == pygame.QUIT:
        run = False #this controls the "X" button
    if event.type == pygame.KEYDOWN:
        lastKey = event.key

    keys = pygame.key.get_pressed()
    if lastKey == pygame.K_LEFT and x > vel:
        x-=vel
    if lastKey == pygame.K_RIGHT and x< screenWidth - width -vel:
        x+=vel
    if lastKey == pygame.K_DOWN and y < screenWidth - height - vel:
        y+= vel
    if lastKey == pygame.K_UP and y > vel:
        y-=vel

    win.fill((0,0,0))
    pygame.draw.rect(win, (255, 0, 0), (x, y, width, height))
    pygame.display.update()

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

1 Ответ

0 голосов
/ 05 февраля 2019

Это красный квадрат, потому что код рисует красный квадрат:

pygame.draw.rect(win, (255, 0, 0), (x, y, width, height))

Вместо этого нарисуйте растровое изображение snakeFace:

win.blit(snakeFace, (x, y))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...