【问题标题】:libgdx: scene2d add a second stage for the hud?libgdx:scene2d 为 hud 添加第二阶段?
【发布时间】:2017-02-18 00:26:24
【问题描述】:

我使用scene2d 制作了一个游戏。现在我想在我的游戏中添加一个HUD。为此,我想将小部件放在桌子上,然后将桌子添加为舞台中的演员。我现在的问题是:我应该创建第二个阶段来保存表格,还是应该在现有阶段中添加表格。如果我已经有舞台,添加 HUD 的正确方法是什么?

【问题讨论】:

  • 绝对做第二个阶段。您可能会希望为 UI 内容使用不同类型的 Viewpory。
  • @Tenfour04 不同的视口是什么意思。我为我的游戏使用 Fit ViewPort。不同的视口是否意味着不同的尺寸或不同类型的视口?
  • 不同的类型和/或尺寸。在我看来,游戏应该在 99% 的情况下使用 ExtendViewport。这消除了黑条和拉伸。在大多数情况下,UI 应该使用具有三线性过滤 UI 元素的 ExtendViewport,或具有多种资产大小(在运行时选择的大小)的 ScreenViewport。第一种方法更简单,第二种方法可以减少 UI 的模糊度。
  • 这可以解决,具体取决于游戏。例如,在横向滚动跑步者中,确保摄像机的位置使每个人都可以在角色奔跑的方向上看到相同数量的世界。额外的风景在奔跑的玩家身后,所以它没有提供优势。大多数手机都非常接近 16:9,因此任何优势都可能微乎其微。
  • 考虑一个像 NewSuper Mario Bros. Wii 这样的游戏。在 4:3 电视上,您看不到那么多世界。最终没关系,因为你不会在这个游戏中与其他人竞争。

标签: libgdx stage scene2d hud


【解决方案1】:

如果您的游戏世界大于您的屏幕尺寸,那么您可以在屏幕上创建第二个阶段,例如横向滚动游戏。

请记住,由于他自己的 SpriteBatch,舞台是重物,所以如果可以创建单个舞台,那是更好的选择。

否则你可以使用这个构造函数来创建舞台

public Stage (Viewport viewport, Batch batch) 

可以将具有屏幕大小的视口作为参数传递给 hud 和第一阶段 spritebatch。

【讨论】:

  • 如果你将 SpriteBatch 传递给它的构造函数,Stage 一点也不重。
  • @Tenfour04 是的,你是对的。当我们使用默认构造函数时,SpriteBatch 只会让舞台变得沉重。
猜你喜欢
  • 2019-08-24
  • 2016-03-22
  • 1970-01-01
  • 2021-06-05
  • 2013-11-07
  • 2016-08-13
  • 2016-09-05
  • 1970-01-01
相关资源
最近更新 更多