当我将鼠标拖到图像上时,图像会使用鼠标跟踪路径而不是移动。有关此行为的示例,请参阅屏幕截图:
以下是代码:
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()
答案 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()