首页 > 解决方案 > 如何在java中更好地编写开关代码(精确数字的平滑移动)

问题描述

这是在我试图用java制作的游戏中平滑移动按钮的代码。有没有办法让这段代码更小?我想要这些确切的数字,我应该使用数组还是什么?请你能给我一些关于如何使它更简单的例子吗?

if(viewJumping == 1) {
        switch(viewGravity) {
            case 0:
                viewY -= 2;
                viewJumping = 2;
                break;
            case 1:
                viewY -= 2;
                break;
            case 2:
                viewY -= 2;
                break;
            case 3:
                viewY -= 2;
                break;
            case 4:
                viewY -= 4;
                break;
            case 5:
                viewY -= 8;
                break;
            case 6:
                viewY -= 16;
                break;
            case 7:
                viewY -= 24;
                break;
            case 8:
                viewY -= 32;
                break;
            case 9:
                viewY -= 40;
                break;
            case 10:
                viewY -= 48;
                break;
            case 12:
                viewY += 2;
                viewJumping = 0;
                break;
            case 13:
                viewY += 2;
                break;
            case 14:
                viewY += 2;
                break;
            case 15:
                viewY += 2;
                break;
            case 16:
                viewY += 4;
                break;
            case 17:
                viewY += 8;
                break;
            case 18:
                viewY += 16;
                break;
            case 19:
                viewY += 24;
                break;
            case 20:
                viewY += 32;
                break;
            case 21:
                viewY += 40;
                break;
            case 22:
                viewY += 48;
                break;
        }
        viewGravity -= 1;
    }

标签: javaanimationsmoothing

解决方案


你对数组的想法可能会导致这样的事情:

int [] viewYs = {-2, -2, -2, -4 .....}
int newValue = viewY + viewYs[viewGravity]

if/else对于您的viewJumping参数来说可能很简单


推荐阅读