如何在我点击图形的点和Python中对象的中心之间将每个图形移向目标
每一次,图形都应该移动距离目标当前距离的1/16(每次距离都会变小) 谢谢如何在我点击图形的点和Python中对象的中心之间将每个图形移向目标,python,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)表示我将在图形上绘制的数字的数量,该数字由用户输入
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)表示我将在图形上绘制的数字的数量,该数字由用户输入
midptslist是画布中所有对象的中心点。这些对象由画布上的两次单击确定。此外,我将对象的大小(使用比例)调整到由两点确定的区域。此外,len(aaa)的数量与midptslist相同
pt.getX()或Y()=要从对象中心移动到的目标点。现在,我的问题是,如何在每次移动后将中间列表更改为正确的位置,因为我总是需要剩余距离的1/16来计算移动
请帮忙
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
|========|--------------|
0目标obj
|--------------|减去=======
0 obj
|------------|乘除
0 obj
|=========--------------添加回=======
0目标obj
结果:obj稍微接近目标。如果obj位于球门左侧,也可以使用。你必须做得更好。不客气。现在,你能更详细地描述一下这个问题吗?这是家庭作业吗?如果是这样,它应该被标记为这样。。。