大家好,第一次来这里发帖,多多关照哈。我这个需求是这样的:有两个圆形view在屏幕上,一次只能拖动一个圆,就是一个圆固定,另一个圆随触摸坐标移动,不管怎么运动,都要确保两个圆不能重叠;当两个圆贴在一起时,移动的圆就根据触摸坐标在固定圆边上做滑行运动,当手指移出固定圆后,移动的圆就继续跟着手指走。简单点说,就是当手指滑动一个圆,如果遇到另一个圆时,移动的圆会平滑绕过途中的固定圆,然后继续跟随触摸坐标移动。应该表达清楚了,虽然比较啰唆。麻烦大家提供下算法或者demo。
调试欢乐多
我随便想了一个方法,应该有更好的算法。
1.无视碰撞,计算出移动后的点C2‘
2.判断C2’和不动的圆心C1距离L1,如果L1 < R1 + R2 ,说明碰撞了,重新计算C2',设置为 C1 和C2‘ 延长线上的新点C2’‘,C2’‘到C1的距离为 R1+R2