如何比较 LibGdx 中的纹理

How to compare the textures in LibGdx

我正在为我的游戏使用 LibGdx。在下面的方法中,我传递了 RED_BALL 但该方法没有返回 true。我想知道纹理比较是否可行。如果是这样,最好的方法是什么。

private boolean isSqueezableBalls(Texture t) {
    if(t.equals(RED_BALL) || 
            t.equals(BLUE_BALL) || 
                t.equals(GREEN_BALL)){ 
        return true;
    }
    return false; 
}

您需要做的是养成更面向对象的编码习惯。 然后你可以在 class 中添加一个纹理,当你需要比较它时就不会出现问题。您稍后可以简单地检查实例。

 class Ball {
        // Ball Data

        public Ball() {
            // ADD LOGIC
        }
    }

    class GreenBall extends Ball {

        public GreenBall() {
            super();
            // ADD LOGIC
        }
    }

    class RedBall extends Ball {

        public RedBall() {
            super();
            //ADD LOGIC
        }

所以你可以有这样的方法:

private void isSquizableBall(Ball b) {
    if(b instanceof GreenBall){ 
        System.out.print("It's a green ball");

    } else if(b instanceof RedBall){ 
        System.out.print("It's a green ball");
    }
}