Java (Libgdx)让舞台上的一切都变得黑暗
我正在开发一个LibGDX游戏。 我想要在我的舞台上有所有的元素(几个标签、按钮等),但我也希望在主spritebatch上画一些东西,当弹出窗口打开时,这些东西会变暗并且不可触摸,用户可以在其中进行交互 通过将舞台从输入处理器中取出,使其不响应用户输入是非常简单的 但是,如何使舞台和spriteBatch中的一切都变暗,以便用户能够清楚地看到,他必须首先与弹出窗口交互 我希望它有点像这样Java (Libgdx)让舞台上的一切都变得黑暗,java,android,libgdx,Java,Android,Libgdx,我正在开发一个LibGDX游戏。 我想要在我的舞台上有所有的元素(几个标签、按钮等),但我也希望在主spritebatch上画一些东西,当弹出窗口打开时,这些东西会变暗并且不可触摸,用户可以在其中进行交互 通过将舞台从输入处理器中取出,使其不响应用户输入是非常简单的 但是,如何使舞台和spriteBatch中的一切都变暗,以便用户能够清楚地看到,他必须首先与弹出窗口交互 我希望它有点像这样 但是使用LibGDX stage和spritebatch。如果您添加1x1像素的透明黑色图像,该图像在弹出
但是使用LibGDX stage和spritebatch。如果您添加1x1像素的透明黑色图像,该图像在弹出窗口之前拉伸到屏幕大小,则无需更改inputprocessor。透明图像下演员的可触摸性自动禁用。因此,您不需要结束并再次开始spritebatch,这对性能不好
因此,您无需更改spritebatch,也无需使用额外的gl glear调用,只需添加一个透明区域即可完成此操作。您的意思是,在绘制舞台之后,应该绘制一个不透明度约为一半的黑色像素,然后再绘制弹出窗口?我想我仍然可以通过图像点击到半透明像素的“后面”。是的,这就是我的意思。阶段层次结构将像你的屏幕截图中的那样:showPopubButton->透明图像->弹出窗口WidgeTook我添加了像素的东西,它工作了。spritebatch中是否有一个选项现在允许用户点击它所绘制的东西,或者我必须从我的输入多路复用器中取出舞台才能实现我想要的?你能检查一下你的透明图像的可触摸区域吗?如果你将其设置为enabled,它应该会阻止你在透明区域下触摸,这意味着你有一个模式弹出窗口。我没有找到纹理或精灵的选项“touchable”。图像具有.setTouchable(Touchable.enabled)选项,但我仍然可以单击它。哪个imagecontainer具有该功能?