如何比较 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");
}
}
我正在为我的游戏使用 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");
}
}