Python 如何在pygame中将图像附加到rect?

Python 如何在pygame中将图像附加到rect?,python,image,pygame,Python,Image,Pygame,我需要帮助在pygame中将图像附加到矩形。。我正在尝试用python制作一个蛇游戏(你知道,那个吃苹果长lol的游戏),我想把我老师的脸贴在蛇的头上 我已经尝试定义一个变量来导入图像,然后将矩形重命名为该图像,但似乎没有任何效果 snakeFace = pygame.image.load("Morrison.jpg").convert_alpha() rect = snakeFace.get_rect() screenWidth = 500 X=50 y= 50 height = 20 vel

我需要帮助在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()
snakeFace=pygame.image.load(“Morrison.jpg”).convert_alpha()
rect=snakeFace.get_rect()
屏幕宽度=500
X=50
y=50
高度=20
水平=20
运行=真
lastKey=None
运行时:
pygame.时间延迟(10)#1/2毫秒延迟
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
run=False#此选项控制“X”按钮
如果event.type==pygame.KEYDOWN:
lastKey=event.key
keys=pygame.key.get_pressed()
如果lastKey==pygame.K_左且x>vel:
x-=水平
如果lastKey==pygame.K_RIGHT且xvel:
y-=水平
胜利填充((0,0,0))
pygame.draw.rect(赢,(255,0,0),(x,y,宽,高))
pygame.display.update()

我希望在屏幕上按下某个键后,屏幕上会出现一个有我老师脸的正方形,但它只是一个普通的红色正方形。

这是一个红色正方形,因为代码正在绘制一个红色正方形:

pygame.draw.rect(win, (255, 0, 0), (x, y, width, height))
改为绘制
蛇形面
位图:

win.blit(snakeFace, (x, y))

这是一个红方块,因为代码正在绘制一个红方块:

pygame.draw.rect(win, (255, 0, 0), (x, y, width, height))
改为绘制
蛇形面
位图:

win.blit(snakeFace, (x, y))

下面是我用来向rect对象添加图像的完整示例代码

 import pygame

  vel = 5

  pygame.init()

  screen = pygame.display.set_mode((800,600))

pygame.display.set_caption('captions')
icon = pygame.image.load('test123.jpg')
pygame.display.set_icon(icon)

playerimg = pygame.image.load('test123.jpg')
playerx = 370
playery = 480


def player():
    screen.blit(playerimg,(playerx,playery))

running = True
while running:

    screen.fill((0, 0, 0))

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

        keys = pygame.key.get_pressed()

        if keys[pygame.K_a] and playerx > vel:
            playerx += vel

    player()
    pygame.display.update()

下面是我用来向rect对象添加图像的完整示例代码

 import pygame

  vel = 5

  pygame.init()

  screen = pygame.display.set_mode((800,600))

pygame.display.set_caption('captions')
icon = pygame.image.load('test123.jpg')
pygame.display.set_icon(icon)

playerimg = pygame.image.load('test123.jpg')
playerx = 370
playery = 480


def player():
    screen.blit(playerimg,(playerx,playery))

running = True
while running:

    screen.fill((0, 0, 0))

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

        keys = pygame.key.get_pressed()

        if keys[pygame.K_a] and playerx > vel:
            playerx += vel

    player()
    pygame.display.update()