所以我有一个代码,它围绕屏幕中心附近的一个点旋转一个图像视图
RotateAnimation anim = new RotateAnimation(0, 360,0,135);
anim.setInterpolator(new LinearInterpolator());
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(2000);
image.startAnimation(anim);
我也有这个代码,检查图像和另一个图像之间的冲突
Rect rc_img1 = new Rect();
image.getDrawingRect(rc_img1);
Rect rc_img2 = new Rect();
image2.getDrawingRect(rc_img2);
if (Rect.intersects(rc_img1, rc_img2)) {
}
我如何做某种循环,不断旋转图像,直到检测到碰撞,然后停止旋转。我好像想不通。谢谢。
2条答案
按热度按时间brqmpdu11#
尝试使用布尔标志来检查图像是否发生了碰撞,如果没有继续旋转。它可能不起作用,但我认为值得一试。
iih3973s2#
将objectanimator与updatelistener一起使用,并在update方法中检查视图是否冲突。