如何在点击pygame时使图像移动到随机位置?

时间:2016-05-20 19:40:36

标签: python python-2.7 random pygame

每当我点击它时,我想将苹果图像移动到一个随机位置。我第一次点击它,它运作良好但下次我尝试这样做时,它没有给我任何回应。
这是代码:

import pygame
pygame.init()
foodimg=pygame.image.load("food.png")
foodrect=foodimg.get_rect()
white = (255,255,255)
#Game Display
display_width = 1080
display_height  = 720
gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('Click It! ~ Snapnel Productions')
gameDisplay.fill((white))
running=True
while running:
    gameDisplay.fill((white))

    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
            pygame.quit()
            quit()
        if event.type == pygame.MOUSEBUTTONDOWN:
            # Set the x, y postions of the mouse click
            x, y = event.pos
            if foodimg.get_rect().collidepoint(x, y):
                foodrect.center=(random.randint(5,1060),random.randint(5,700))
                print "Hi",
                continue 
    gameDisplay.blit(foodimg,foodrect)
    pygame.display.flip()

This是食物形象。

1 个答案:

答案 0 :(得分:0)

更改行

if foodimg.get_rect().collidepoint(x, y):

if foodrect.collidepoint(x, y):

你的代码没有用,因为图片的矩形永远不会移动,它总是<rect(0, 0, 30, 30)>。 Foodrect实际上代表了矩形所在的位置,它是您运行foodrect.center =时更改的矩形值。您想检查鼠标单击是否与实际矩形碰撞,而不是图像的矩形。