我正在尝试制作2D动画,我希望图像能够在背景中的棕色路径上进行。我正在使用ValueAnimator
,
这是动画第一部分的代码:
anim = ValueAnimator.ofFloat(0f,400f);
anim.setDuration(500);
anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener()
{
@Override
public void onAnimationUpdate(ValueAnimator animation)
{
value = (Float)animation.getAnimatedValue();
if(soldier.getX()<400f)
soldier.setX(value);
}
});
当它完成设置图像的x值时,我无法找到一种有效的方法来开始使它改变y上升然后x,y和x再次.. 感谢。
更新 帮我制作路径动画的代码就在这里 我尝试在模拟器的屏幕尺寸和任何其他手机之间制作比率公式:
metrics = new DisplayMetrics(); //Get the screen dimensions
getWindowManager().getDefaultDisplay().getMetrics(metrics);
heightPixels = metrics.heightPixels; //Initiate screen dimensions
widthPixels = metrics.widthPixels;
ratioX = heightPixels/1080;//set the ratios
ratioY = widthPixels/1794;
Path path = new Path();
path.moveTo(-100*ratioX,800*ratioY);
path.lineTo(430*ratioX, 800*ratioY);
path.lineTo(430*ratioX,180*ratioY);
path.lineTo(1145*ratioX,180*ratioY);
path.lineTo(1145*ratioX,800*ratioY);
path.lineTo(1794*ratioX,800*ratioY);
anim = ObjectAnimator.ofFloat(soldier,"x","y",path);
anim.setDuration(3500);
这在模拟器上运行得很好,但它在我的手机上运行得不好(动画在中间停止,它不会跟随背景的路径。