使用鼠标而不是仅使用鼠标移动图像跟踪路径

时间:2015-10-22 19:28:25

标签: python

当我将鼠标拖到图像上时,图像会使用鼠标跟踪路径而不是移动。有关此行为的示例,请参阅屏幕截图:

screenshot

以下是代码:

import pygame
import sys
from pygame.locals import *
pygame.display.init()
clock=pygame.time.Clock()

canvas=pygame.display.set_mode((500,500))

pygame.display.set_caption("hy")

color=(255,0,0)

canvas.fill(color)

pygame.mouse.set_visible(1)
pygame.mouse.set_cursor(*pygame.cursors.diamond)

img=pygame.image.load("maryo.png")



while True:
    x,y=pygame.mouse.get_pos()


for event in pygame.event.get():
    if event.type==KEYDOWN:
        if event.key==K_ESCAPE:
            pygame.quit()
            sys.exit()

canvas.blit(img,(x,y))

clock.tick(60)   

pygame.display.update()

1 个答案:

答案 0 :(得分:0)

如果您不想要跟踪路径,需要在主要游戏循环中将img - 表面移动到新位置之前清除屏幕。

这可以通过调用主屏幕对象canvas的{​​{3}}方法来完成:

while True:
    x,y=pygame.mouse.get_pos()

    for event in pygame.event.get():
        if event.type==KEYDOWN:
            if event.key==K_ESCAPE:
                pygame.quit()
                sys.exit()

        canvas.fill(color) #clear the screen
        canvas.blit(img,(x,y)) #blit img onto screen

        clock.tick(60)   

        pygame.display.update()