制作一个商店(大约有50个可以买到的物品),所以我需要一个可滚动的区域,因为不是所有东西都可以继续使用。
当你握住并滑动手指时,这就是这个部分。
public boolean pan(float x, float y, float deltaX, float deltaY) {
float scaleY = viewport.getWorldHeight() / (float)viewport.getScreenHeight();
camera.translate((int) 0, (int) (deltaY * scaleY));
return true;
}
你释放手指的那一刻就会激起来。
public boolean fling(float velocityX, float velocityY, int button) {
float scaleY = viewport.getWorldHeight() / (float)viewport.getScreenHeight();
translation = scaleY * velocityY;
return false;
}
将相机从投掷中移开的逻辑是:
if (translation != 0) {
camera.translate(0, translation * delta);
if (translation >= 0) {
up = true;
translation -= increasing * delta;
} else {
up = false;
translation += increasing * delta;
}
if (translation <= 0 && up) {
translation = 0;
} else if (translation >= 0 && !up) {
translation = 0;
}
increasing += 10000*delta;
}
所以我一直在玩这些,但无法获得完美的滚动速度。有没有人以前做过这个并且知道完美的起步速度(&#39;翻译&#39;)和停止速度(&#39;增加&#39;)?