点击鼠标左键图片移动

鼠标左键随便点击一个位置,图片(png)就移动到点击的位置,请问要怎么处理这个?我查了好多资料都不会!是pygame做游戏,现在只会键盘移动

可在代码基础上根据具体情况进行部分修改

import pygame
from pygame.locals import *
from pygame.math import *
import sys

pygame.init()
size = width, height = 1600, 900
screen = pygame.display.set_mode(size)
color = (0, 0, 0) # 设置颜色
ball = pygame.image.load(r'E:\python\python-test\img\图片\2022-06-08_165749.bmp')
ballrect = ball.get_rect()
sp = Vector2(0, 0) # 设置初始位置
speed = 3.0
clock = pygame.time.Clock()
mouse_xy = (0, 0)
while True:
clock_time = clock.tick_busy_loop(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
mouse_xy = Vector2(event.pos) # 获取鼠标的向量
dis = mouse_xy - sp
dis_lenth = dis.length() # 计算物体到鼠标点击处的距离
if dis_lenth < speed: # 做一个判断,如果距离小于速度,则不需要移动
mouse_xy = sp
elif dis_lenth != 0: #
dis.normalize_ip() # 坐标归一化非常重要
dis = dis * speed # 计算每一帧移动的坐标数
sp += dis # 叠加每次移动的坐标
screen.fill(color)
screen.blit(ball, sp)
pygame.display.flip()

img

https://blog.csdn.net/weixin_42322206/article/details/117378726
获取鼠标的当前坐标,然后将图片移到坐标点。
具体可参考上边文章