使用libGDX我创建了一些2D屏幕,例如启动画面和主菜单,还创建了一个3D场景,我想在单击主菜单上的按钮时加载它。
我知道如何添加一个监听器,但我不知道用什么命令在屏幕上显示3D场景。如果我使用setScreen(new World3D)
(或其他类似的扩展方法),它会给我:
World3D cannot be cast to com.badlogic.gdx.Screen
我想知道的是如何从2D屏幕进入3D场景。我是否将3D场景包裹在屏幕内,或者我是否正确操作但我的World3D
课程设置不正确?
Here是my World3D
类的pastebin,以防出现问题。
注意:这些类位于不同的子包中,但已在所需的类中添加了适当的导入。
答案 0 :(得分:2)
首先,Screen
既不是2D也不是3D。它只是一个界面。如果发生特殊事件(ApplicationListener
,pause
...),则resume
通常会调用此方法。
这里的问题是,World3D
是ApplicationListener
ApplicationListener
是每个Libgdx游戏的核心,如果发生某些事件,它会被后端通知。
在您的情况下,它应该是Screen
。您只需将Game
Screen
设置为World3D
Screen
,即可调用render
方法。
我建议你在开始制作游戏之前阅读Libgdx Wiki。