java有没有一种干净的方法来实现libgdx跨平台控件
我目前刚刚开始使用Libgdx。我达到了一个点,我想考虑跨平台(PC /手持)的问题。有一个重要问题我似乎找不到解决办法,那就是: 我不希望每个可控实体都是InputAdapter的扩展,然后包含if(PC){switch:case-key:increaseSpeed();}else if(手持){开关:案例触摸:increaseSpeed();}
是否有一种方法来实现某些东西,以便实体只接收用户输入的与程序相关的含义
对不起,如果我的问题太模糊了:'(
# 1 楼答案
一般来说,Libgdx应用程序只处理所有输入,不必担心它们在哪个设备上。像这样:
这是使用基于事件的^{} 来处理输入事件
LibGDX确实会将桌面鼠标事件映射到“触摸”事件上,这样就可以折叠PC/Android输入处理的这一部分,但没有通用的方法将键盘键映射到触摸事件或类似的事件
# 2 楼答案
你应该看看这个:Interfacing with plaform specific code
但在您的情况下,您可能不会使用^{。基本思想是,在不同的特定于平台的项目中,您将实现一个
InputAdapter
,例如DesktopController extends InputAdapter
。然后你将这个InputAdapter
提供给你的ApplicationListener
。不知怎的,是这样的: