如何在字符串执行 [LibGDX] 时使 font.draw 更新



尝试制作一个简单的点击器,显示一个数字,该数字随着每次点击/点击而增加。计数器工作正常,但我无法让它显示每次点击都会更新的数字。System.out.print 打印计数器正在工作,但 font.draw 不会随着每次点击而更新。不知道现在该怎么办。

package com.me.mygdxgame;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.Vector2;
public class MyGdxGame implements ApplicationListener {
    SpriteBatch batch;
    BitmapFont font;
    Texture mario;
    int cash = 0;
    String money = String.valueOf(cash);
    Vector2 position;
    public boolean touchDown(int x, int y, int pointer, int button) {
        if (button == Input.Buttons.LEFT) {
            System.out.println("Test");
            return true;
        }
        return true;
    }
    @Override
    public void create() {
        mario = new Texture(Gdx.files.internal("data/mario.jpeg"));
        batch = new SpriteBatch();
        font = new BitmapFont();
        position = new Vector2(150, 150);
    }
    @Override
    public void dispose() {
        batch.dispose();
        font.dispose();
    }
    @Override
    public void render() {
        if(Gdx.input.justTouched()){
            cash++;
            System.out.println("e");
            System.out.println(cash);
        }

        Gdx.gl.glClearColor(1, 1, 1, 1);
        Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
        batch.begin();
        font.draw(batch, money, 300, 260);
        batch.end();
    }
    @Override
    public void resize(int width, int height) {
    }
    @Override
    public void pause() {
    }
    @Override
    public void resume() {
    }

}
您递

cash,但从不将新值分配给money 。最简单的解决方案是在递增cash后添加行money = Integer.toString(cash);money = String.valueOf(cash);

最新更新