Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在我点击图形的点和Python中对象的中心之间将每个图形移向目标_Python - Fatal编程技术网

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

如何在我点击图形的点和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)表示我将在图形上绘制的数字的数量,该数字由用户输入

每一次,图形都应该移动距离目标当前距离的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)表示我将在图形上绘制的数字的数量,该数字由用户输入 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位于球门左侧,也可以使用。

你必须做得更好。不客气。现在,你能更详细地描述一下这个问题吗?这是家庭作业吗?如果是这样,它应该被标记为这样。。。