Java 基本评分系统
你好 我一直在尝试为我的游戏创建一个简单的评分系统,但遇到了一个问题。我想知道是否有人能帮我调试代码。首先,我遇到的问题是,我的代码重复显示我的当前分数,但每次我输入触摸命令时,它都与以前的当前分数重叠 我想让我的程序做的是,每当它收到一个触摸命令,它就会添加我的分数,然后在屏幕上打印出当前的分数 有人能帮我调试我的代码,并给我一个简单的指导,这将帮助我在构建我的评分系统 这是我的密码:Java 基本评分系统,java,libgdx,Java,Libgdx,你好 我一直在尝试为我的游戏创建一个简单的评分系统,但遇到了一个问题。我想知道是否有人能帮我调试代码。首先,我遇到的问题是,我的代码重复显示我的当前分数,但每次我输入触摸命令时,它都与以前的当前分数重叠 我想让我的程序做的是,每当它收到一个触摸命令,它就会添加我的分数,然后在屏幕上打印出当前的分数 有人能帮我调试我的代码,并给我一个简单的指导,这将帮助我在构建我的评分系统 这是我的密码: Timer time; SpriteBatch btch; int score=0,currscore =
Timer time;
SpriteBatch btch;
int score=0,currscore = 0;
BitmapFont fntscore = new BitmapFont(Gdx.files.internal("fonts/pressstartk16white.fnt"),false);
public void score()
{
if(Gdx.input.isTouched())
{
score += 20;
System.out.print("score: " + score + "\n" );
currscore = score;
return;
}
else if(Gdx.input.isKeyPressed(Keys.S))
{
score +=30;
System.out.print("score: "+ score + "\n");
currscore = score;
return;
}
}
@Override
public void render(float delta) {
score();
btch.begin();
fntscore.draw(btch, "score: " + currscore, 100, 100);
btch.end();
// TODO Auto-generated method stub
}
换成
if(Gdx.input.justTouched())
{
score += 20;
System.out.print("score: " + score + "\n" );
currscore = score;
return;
}
抱歉,我无法正确回答您的问题,您可能会错过这个
currscore += score;
因为您只是在之前声明score,而不是currscore,所以这可能会有所帮助。在呈现某些内容之前清除屏幕,否则它将与旧数据重叠
@Override
public void render(float delta) {
Gdx.graphics.getGLCommon().glClearColor( 1, 0, 0, 1 );
Gdx.graphics.getGLCommon().glClear( GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT );
score();
btch.begin();
fntscore.draw(btch, "score: " + currscore, 100, 100);
btch.end();
// TODO Auto-generated method stub
}
我不明白。这是一样的。ell JustTouch只给你回一次电话,而IsTouch则给你连续回电话,直到你回电话。谢谢,它确实改进了我的代码。但是它仍然打印并与我以前的打印重叠。对不起,我不知道。
@Override
public void render(float delta) {
Gdx.graphics.getGLCommon().glClearColor( 1, 0, 0, 1 );
Gdx.graphics.getGLCommon().glClear( GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT );
score();
btch.begin();
fntscore.draw(btch, "score: " + currscore, 100, 100);
btch.end();
// TODO Auto-generated method stub
}