如何在单击图形的点和Python中对象的中心之间将每个图形移向目标

2024-03-29 12:05:20 发布

您现在位置:Python中文网/ 问答频道 /正文

每一次,图形都应该从目标移动其当前距离的1/16(距离每次都变小)。你知道吗

谢谢!!!!!!!!!你知道吗

    for i in range(len(aaa)):
    midxtoptx = pt.getX() - midptslist[i].getX()
    midytopty = pt.getY() - midptslist[i].getY() 
    moveAll(aaa[i], midxtoptx/16, midytopty/16)

len(aaa)是指我要在图形上绘制的数字的数量,这个数字是由用户输入的 中间列表是画布上所有对象的中心点。这些对象由画布上的两次单击决定。此外,我还将对象的大小(使用比例)调整为由两点确定的区域。另外,len(aaa)的数量与midptslist相同。你知道吗

你知道吗pt.getX公司()或Y()=要从对象中心移动到的目标点。现在,我的问题是,如何在每次移动后将中间列表更改为正确的位置,因为我总是需要剩余距离的1/16来计算移动?你知道吗

请帮忙!!!!!!你知道吗


Tags: 对象pt图形距离目标列表数量len
1条回答
网友
1楼 · 发布于 2024-03-29 12:05:20
def move(obj, goal):
    obj.x = ((obj.x - goal.x) * 15.0 / 16) + goal.x
    obj.y = ((obj.y - goal.y) * 15.0 / 16) + goal.y

下面是如何思考的:

|========|       |         
0      goal            obj

|       |                  subtract =======
0             obj

|      |                    multiply and divide
0           obj

|========|      |           add back =======
0      goal          obj

结果:obj更接近目标。如果目标位于目标左侧,也可以使用。你知道吗

相关问题 更多 >