Android游戏不会在手机上显示scene2d stage

Android游戏不会在手机上显示scene2d stage,android,libgdx,scene2d,Android,Libgdx,Scene2d,我正在练习为android制作一个游戏,在Eclipse中使用libgdx。在我的第一个屏幕上,我添加了一个文本按钮和一个标签到我的舞台上。当我启动桌面应用程序时,会显示带有标签和按钮的阶段。但是,当我在手机(Android 2.2)或emulator(Android 2.2和4.03)上启动Android应用程序时,只有一个空白屏幕上没有显示任何内容。我在logcat或控制台中看不到任何错误 logcat显示一个复制位“错误打开帧缓冲区errno=13(权限被拒绝)”,但我认为这不是原因 我已

我正在练习为android制作一个游戏,在Eclipse中使用libgdx。在我的第一个屏幕上,我添加了一个文本按钮和一个标签到我的舞台上。当我启动桌面应用程序时,会显示带有标签和按钮的阶段。但是,当我在手机(Android 2.2)或emulator(Android 2.2和4.03)上启动Android应用程序时,只有一个空白屏幕上没有显示任何内容。我在logcat或控制台中看不到任何错误

logcat显示一个复制位“错误打开帧缓冲区errno=13(权限被拒绝)”,但我认为这不是原因

我已经检查了我的java构建路径,一切看起来都很好。在谷歌搜索了所有地方后,这是我发现的唯一一个类似的帖子:。 在投票最多的用户“nEx.Software”评论中,“不工作是指显示一个空白屏幕吗?这是因为Desktop starter创建了ScreenTest()的新实例,而Android starter创建了ScreenGame()的新实例。”我想这可以解决我的问题,但我不完全理解他/她的评论

下面是我的android初学者类的代码:

public class MainActivity extends AndroidApplication {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
        cfg.useGL20 = true;
        cfg.useAccelerometer = false;
        cfg.useCompass = false;

        initialize(new FirstGame(), cfg);
    }
}
编辑

下面是my games Main.java类的代码:

public class FirstGame extends Game {

    @Override
    public void create() {  
        this.setScreen(new MainMenu(this));
    }
        @Override
    public void dispose() {
    }

    @Override
    public void resize(int width, int height) {
    }

    @Override
    public void pause() {
    }

    @Override
    public void resume() {
    }
}
任何帮助都将不胜感激

更新


我发现它是在我的手机上显示的,但是舞台是在屏幕外的,无论如何谢谢你能发一份你的Android starter吗?EclipseADT最近也出现了一个问题,这意味着项目有时会失去同步。尝试清理所有项目

项目->清理->选择与游戏相关的所有项目->确定


另外,我假设使用Eclipse,是这样吗?

很抱歉没有指定,是的,我正在使用Eclipse并尝试过项目清理,通常是在我在手机上启动之前,通过Android starter,您是指我的游戏Android项目的Main.java吗?谢谢。如果我在FirstGame的Main.java类中进行了编辑,那么您运行的用于启动手机应用程序的文件(我看到它现在包含在您的OP中,谢谢)甚至是类
FirstGame()
的副本都会很有帮助,这只是将屏幕设置为MainMenu类,该类扩展了我创建的AbstractScreen类(它实现了屏幕),这个主菜单类使用scene2d阶段添加演员,他们在桌面上显示得很好,但是在我的andoird手机或模拟器上看不到他们:(游戏有一个渲染方法,应该调用类似
this.getScreen().render()的东西)
我看不出任何东西怎么可能被绘制到屏幕上,或者我遗漏了一些非常明显的东西吗?还有,为什么你要抽象屏幕,而不仅仅是使用内置的屏幕类?我在AbstractScreen类中重写了render方法,我创建了这个抽象类,以便我所有的屏幕都可以扩展它。在AbstractS的render方法中screen舞台是绘制的,舞台也在这个类中声明和初始化,所以我不必在每个screen类中重新声明舞台。就像我说的,一切都成功地绘制在桌面上。Libgdx纹理也以这种方式在我的手机上成功渲染,但是当我使用舞台时,它不会显示在我的手机上,只会显示在桌面上顶级应用程序。你是如何加载你的资产的?它们是否与你正在显示的屏幕兼容?另外,尝试在scene2d中设置调试(请参阅)。你是否在元素应该位于的位置设置了框?是的,谢谢:),我说我的舞台正在从屏幕上加载。尽管伙计,干杯。