我试图从 mtx flame words example 重新创建菜单,但屏幕上没有显示菜单中的任何内容。 Assets 没有问题,因为我可以将它们与 spritebatch 一起使用。示例几乎是 1:1,我不知道问题出在哪里。
public class MainMenuScreen extends AbstractScreen implements IScreen{
private MainMenuScreenButtons mainMenuScreenButtons;
public MainMenuScreen(AbstractGame game, String screenName) {
super(game, screenName);
// TODO Auto-generated constructor stub
setUpScreenElements();
setUpMenu();
}
@Override
public void setUpScreenElements() {
setOpenGLClearColor(0.1f, 0.1f, 0.1f, 1f);
setBackgroundTexture(Assets.background);
}
@Override
public void setUpMenu() {
// TODO Auto-generated method stub
mainMenuScreenButtons = new MainMenuScreenButtons(MainMenuScreen.this);
}
public MainMenuScreenButtons getMainMenuScreenButtons() {
return mainMenuScreenButtons;
}
@Override
public void render(float delta) {
// TODO Auto-generated method stub
super.render(delta);
}
}
主菜单屏幕按钮
public class MainMenuScreenButtons {
private MainMenuScreen mainMenuScreen;
private Table tableMain;
private Table tableButtons;
private ButtonLight btnPlay;
public MainMenuScreenButtons(MainMenuScreen mainMenuScreen) {
// TODO Auto-generated constructor stub
this.mainMenuScreen = mainMenuScreen;
setUp();
}
public void setUp() {
// TODO Auto-generated method stub
tableMain = new Table();
tableMain.setFillParent(true);
tableButtons = new Table();
btnPlay = new ButtonLight(310,130,Assets.buttons,true);
UtilsOrigin.setActorOrigin(btnPlay, Origin.CENTER);
tableButtons.add(btnPlay).row();
tableButtons.center();
tableMain.add(tableButtons).center();
mainMenuScreen.getStage().addActor(tableMain);
}
}
最佳答案
尝试使用 gdx 纹理打包器 https://code.google.com/p/libgdx-texturepacker-gui/ 然后将扩展名更改为文本并删除第一个空的并清理您的项目。
关于java - Libgdx - Mtx 纹理未显示在屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975841/