使用libGDX,我创建了一些2D屏幕,例如启动屏幕和主菜单,还创建了3D场景,我希望在单击主菜单上的按钮时能够加载该3D场景。
我知道如何添加侦听器,但是我不知道该使用什么命令在屏幕上显示3D场景。如果我使用setScreen(new World3D)(或其他类似的扩展方法),它将给我:
 World3D cannot be cast to com.badlogic.gdx.Screen

我想知道的是如何从2D屏幕转到3D场景。我是将3D场景包裹在屏幕内还是在做对,但是我的World3D类未正确设置?
如果出现问题,Here是我的World3D类的pastebin。

注意:这些类在单独的子程序包中,但是正确的导入已添加到所需的类中。

最佳答案

首先,Screen既不是2D也不是3D。它只是一个接口。如果发生特殊情况(ApplicationListenerpause ...),通常由resume调用该方法。
您的问题是,您World3DApplicationListener
ApplicationListener是每个Libgdx游戏的核心,如果发生某些事件,它将由后端通知。
在您的情况下,应改为Screen。您只需将GameScreen设置为World3D Screen,就会调用它的render方法。

我建议您在开始创建游戏之前先阅读Libgdx Wiki

关于java - libGDX:从2D屏幕打开3D场景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30324660/

10-12 16:42