libgdx 之 您好,Hello world!
要在界面输出中文,需要借助hiero.jar 工具,这个工具生成的文件就像一个模版,定义界面可以输入的文字和符号,libgdx默认的模版里面并没有中文的定义,因此如果需要在界面上输入中文,需要利用这个工具先定义好。
hiero.jar 运行起来的界面:
Font:可以选择字体
Sample Text:可以定义界面允许显示的文字内容
Effects: 定义显示在界面的文字的效果;
Rendering:效果显示区域;
点File — Save as BMFont Files,生成两个文件,并保存到android的assert文件夹下
然后再desk项目(applicationListener)中,加载文件并显示内容;
private SpriteBatch spriteBatch;
private BitmapFont bitmapFont ;
@Override
public void create() {
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
bitmapFont = new BitmapFont(Gdx.files.internal("data/hello_world.fnt"), Gdx.files.internal("data/hello_world.png"), false);
spriteBatch = new SpriteBatch();
}
@Override
public void dispose() {
spriteBatch.dispose() ;
bitmapFont.dispose() ;
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
spriteBatch.begin() ;
bitmapFont.draw(spriteBatch, "LIBGDX : " + Gdx.graphics.getFramesPerSecond(), 5, Gdx.graphics.getHeight() - 10);
bitmapFont.draw(spriteBatch, "你好!hello world!", 0, Gdx.graphics.getHeight()/2);
spriteBatch.end() ;
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
效果图: