使用libGDX,我创建了一些2D屏幕,比如一个启动屏幕和一个主菜单,还创建了一个3D场景,当我单击主菜单上的一个按钮时,我希望能够加载这个场景。
我知道如何添加侦听器,但我不知道使用什么命令在屏幕上显示3D场景。如果我使用setScreen(new World3D) (或其他类似的扩展方法),它会给出:
World3D cannot be cast to com.badlogic.gdx.Screen
我想知道的是如何从2D屏幕到3D场景。我是将3D场景包装在屏幕中,还是做对了,但我的World3D类设置不正确?
这里是我的World3D类的文件库,以防出现这种情况。
注意:类在单独的子包中,但适当的导入已经添加到所需的类中。
发布于 2015-05-19 12:04:57
首先,Screen既不是2D也不是3D。它只是一个接口。它的方法通常由ApplicationListener调用,如果是特殊的东西(pause,resume.)时有发生。
您的问题是,您的World3D是一个ApplicationListener。
ApplicationListener是每个Libgdx游戏的核心,如果发生某种事件,后端会通知它。
在您的例子中,它应该是一个Screen。您可以简单地将Game的Screen设置为World3D Screen,然后调用它的render方法。
我建议您在开始创建游戏之前先阅读Libgdx Wiki。
https://stackoverflow.com/questions/30324660
复制相似问题