怎么让android的surfaceview中的动画更加平滑流畅

比如一个位移动画。
大概代码类似这样

float startX,startY;//动画开始前的位置
float x,y;//图片当前坐标
float targetX,targetY;//目标位置
float duration;//动画所需要的时间

float deltaX=targetX-startX;
float deltaY=targetY-startY;

onDraw(Canvas canvas,float deltaTime){
    x=startX+deltaX*deltaTime/duration;
    y=startY+deltaY*deltaTime/duration;
    canvas.draw(bmp,x,y,null);
}

代码大概就是这个意思吧。

现在的问题是,帖速完全没问题,可以到60
但动画不流畅,感觉是一卡一卡的过去的,不平滑。

问题出在哪儿呢?

我看过libgdx的action的源码,也没有找到哪里不同的地方啊?
求指教。

阅读 10.8k
2 个回答

帧速如果没问题的话,那就应该是坐标位移的值不够连续,造成跳动的感觉

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题