Libgdx阶段'冻结'

问题描述 投票:0回答:1

在我的游戏中有一个菜单,在这个菜单中,有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);
libgdx scene2d
1个回答
1
投票

我想到了。答案很简单,与inputProcessor存在冲突

我在每个标签上设置输入处理器

所以我在标签上添加了一个setInputProcessor()方法,在标签更改时调用它

© www.soinside.com 2019 - 2024. All rights reserved.