使用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。它只是一个接口。如果发生特殊情况(ApplicationListener
,pause
...),通常由resume
调用该方法。
您的问题是,您World3D
是ApplicationListener
。ApplicationListener
是每个Libgdx游戏的核心,如果发生某些事件,它将由后端通知。
在您的情况下,应改为Screen
。您只需将Game
的Screen
设置为World3D
Screen
,就会调用它的render
方法。
我建议您在开始创建游戏之前先阅读Libgdx Wiki。
关于java - libGDX:从2D屏幕打开3D场景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30324660/