路径

时间:2016-11-10 21:56:51

标签: java android animation

我正在尝试制作2D动画,我希望图像能够在背景中的棕色路径上进行。我正在使用ValueAnimator

That is the image

这是动画第一部分的代码:

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);

这在模拟器上运行得很好,但它在我的手机上运行得不好(动画在中间停止,它不会跟随背景的路径。

0 个答案:

没有答案