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() { }
效果图: