我每次刷过屏幕时都试图为2D游戏设置动画效果,我尝试使用TranslateAnimation,但是没有方法可以更新初始值,所以每当我移动角色时我必须重新创建对象,虽然这不会起作用,因为我需要能够使用hasStarted()方法。有没有人遇到过类似的问题,能否建议解决方案?
public synchronized void move() {
ani = new TranslateAnimation(width * oldLocX, width * locX, height * oldLocY, height * locY);
ani.setDuration(3000);
ani.setFillAfter(true);
ani.setFillBefore(true);
ani.setFillEnabled(true);
oldLocY = locY;
oldLocX = locX;
if(!ani.hasStarted() || ani.hasEnded()) {
bl.startAnimation(ani);
}
else
{
System.out.println("Animation currently running");
}
}
我每次都必须重新创建TranslateAnimation对象,因此无法判断它是否正在运行..