无法在Pygame中移动图像

时间:2016-09-22 03:14:56

标签: python pygame

我是Python的初学者。我试图使用pygame模块移动图像。但是我无法在python中移动图像的位置。你能帮我理解我做错了吗?

import pygame, sys                             
from pygame.locals import *                    
pygame.init()                                  

image = pygame.image.load("ball.jpg")
image = pygame.transform.scale(image, (100, 100))

imgrect = image.get_rect()

Canvas = pygame.display.set_mode((500, 500))
pygame.display.set_caption('Text Input')

imgrect.left = 200
imgrect.top = 200

Canvas.blit(image, imgrect)
pygame.display.update()

while True:                                    
    for event in pygame.event.get():

        if event.type == KEYDOWN :              
            if event.key == K_ESCAPE:          
                pygame.quit()                  
                sys.exit()     
            if event.key == K_UP:
                imgrect.top += 1
            if event.key == K_DOWN:
                imgrect.top -= 1

1 个答案:

答案 0 :(得分:1)

基本游戏循环应该做三件事:处理事件,更新和绘制。我看到了更新矩形位置的逻辑,但是你没有在新位置重绘图像。

我在游戏循环的底部添加了一些线来绘制场景。

while True: 
    # handle events
    # update logic

    # draw
    Canvas.fill((0, 0, 0))  # Clears the previous image.
    Canvas.blit(image, imgrect)  # Draws the image at the new position.
    pygame.display.update()  # Updates the screen.