我的游戏中有一个菜单,该菜单中有4个选项卡,每个选项卡都有自己的stage
,其中包含表格滚动窗格和按钮(这是个好主意吗?)
我的问题是每个阶段似乎都“冻结”,按钮没有响应,并且滚动窗格不滚动
我的菜单结构:
菜单类
->渲染选项卡(渲染selectedTab
,selectedTab是一个Tab对象(自定义类),该对象具有特定的选项卡(例如:sele shopTab(扩展选项卡类))
// menu class
private Tab selectedTab;
private Tab RecipeTab, SellTab, UpgradeTab, ShopTab;
// menu constructor
RecipeTab = new RecipeTab(viewport, sb, itemsdata);
SellTab = new SellTab(viewport, sb, hud);
UpgradeTab = new UpgradeTab(viewport, sb, itemsdata);
ShopTab = new ShopTab(viewport, sb);
selectedTab = RecipeTab;
// render
selectedTab.render(sr, delta);
// on tab change
public void setSelectedTab(Tab newTab) {selectedTab = newTab;}
setSelectedTab(ShopTab);
->菜单包含一个导航栏,用于切换标签(所选标签已分配了另一个标签对象)
我不知道问题来自舞台还是演员。甚至一个简单的文本按钮也不起作用
// how my stages are made
// constructor
this.stage = new Stage(viewport, sb); // ExtendViewport (same everywhere), Spritebatch
Gdx.input.setInputProcessor(this.stage);
// render
this.stage.draw();
this.stage.act(delta);
答案 0 :(得分:1)
我知道了。 答案很简单,与inputProcessor发生冲突
我正在每个选项卡上设置inputProcessor
所以我在标签上添加了setInputProcessor()
方法,在标签更改时称为它