【问题标题】:Libgdx stage 'frozen"Libgdx 阶段“冻结”
【发布时间】:2018-09-06 21:30:31
【问题描述】:

在我的游戏中有一个菜单,在这个菜单中,有 4 个选项卡,每个选项卡都有自己的stage,带有表格滚动窗格和按钮(这是个好主意吗?)

我的问题是每个阶段似乎都“冻结”了,按钮没有响应,滚动窗格也没有滚动

我的菜单结构:

菜单类

-> 渲染一个标签(渲染selectedTab,selectedTab是一个标签对象(自定义类),它被分配了一个特定的标签(例如: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】:

    我想通了。 答案很简单,和inputProcessor有冲突

    我在每个选项卡上设置 inputProcessor

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 2013-08-14
      • 2015-09-20
      • 2014-10-10
      • 2015-05-13
      • 2017-10-02
      相关资源
      最近更新 更多