我试图制作三个圆圈的动画。中间的圆圈应该变得更大,这是有效的。该圆形刻度动画的阶梯函数测试圆是否与其周围的另外两个圆碰撞。这似乎是有效的,但由于某种原因,我必须将生长圆的宽度声明为该圆的动画函数中的通用变量,而不是在testcollision函数本身中调用其宽度方法。那是我的第一个问题。
我的第二个问题发生在中间圆增长并成功检测到其两侧的两个圆圈的碰撞时。左侧的圆圈通过testcollision函数内部的动画功能平滑而完美地移动。右侧的圆圈以正确的方向移动,但与左侧圆圈相比移动速度非常慢,且运动非常不稳定。我已尝试降低右侧圆圈的持续时间,但所有这一切都会导致该圆圈“跳跃”#39;到动画中的某一点(例如,持续时间为10,所以在动画中跳转到某个点需要10毫秒),然后才能完全完全动画。
答案 0 :(得分:0)
右边动画的问题显然是它接收的最终位置,它必须从你之前宣布的变量中接收主圆的左边距+宽度,如果你事先知道老板的最终宽度你不要不一定需要一直测试碰撞,动画本身会产生碰撞的错觉。
变化
var bossmoveright = boss.left + window.bosswidthfind + 6;
到
var bossmoveright = bossleft + bosswidth + 6;
FIDDLE :http://jsfiddle.net/eE4x7/1/