问题描述
我有一个包含7列的Sprite工作表。我想平滑地制作动画(更改列)。但是,如果我不使用更新%10来控制精灵速度,它的动画设置太快,因此无法识别动画。此刻,我每10帧在精灵列之间切换一次,根据不同android设备的FPS,这将不一致。有没有控制精灵动画速度的标准方法?
private final int BMP_ROWS = 1;
private final int BMP_COLUMNS = 7;
// sprite update logic
public boolean update(float deltaTime) {
delayCounterMs += deltaTime;
animate = true;
if (update % 10 == 0) {
currentFrame = ++currentFrame % BMP_COLUMNS;
int srcX = currentFrame * width;
src = new Rect(srcX,srcX + width,height);
dst = new Rect(x,y,x + width,y + height);
}
update++;
return false;
}
// sprite draw logic
public void draw(Canvas canvas) {
if (animate) {
canvas.drawBitmap(bmp,src,dst,null);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)