libgdx的中文支持需要开发者做一些额外的工作,所以在不追求UI风格统一的情况下(或偷懒),我会选择调用平台的原生UI。例如加载游戏完毕后,需要提示玩家“游戏加载完成,点击屏幕进入游戏”,虽然中文字数不多,但为了偷懒,我不去打开hero生成fnt,也不用导入freetype库,甚至不用libgdx的UI库去创建一个窗口,我只是写了个接口,用接口去调用android的Toast.makeText(String massage)就行鸟。
所以我需要一个在core工程的接口类,然后在android工程实现这个类,至于html,desktop工程是类似的。值得一提的是,libgdx本身也提供了调用平台UI功能的一个接口:Gdx.input.getTextInput,这个接口功能是弹出平台UI的一个输入框。我们自己实现的UI调用接口正是参考此处。
UI调用抽象接口:
package gdx.platform;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
public interface PlatformResolver {
/**
* 返回网络是否连接
* @return
*/
public boolean isNetEnable();
/**
* 弹出文字信息
* @param context 要显示的信息
*/
public void showQuickTip(String context);
/**
* 弹出一个带按钮的窗口
* @param title 窗口标题文字
* @param context 窗口