尝试制作一个简单的点击器,显示一个数字,该数字随着每次点击/点击而增加。计数器工作正常,但我无法让它显示每次点击都会更新的数字。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);
。