libgdx - 如何在舞台上添加背景图片?

2022-01-12 00:00:00 game-engine android java libgdx scene2d

我正在学习 libgdx,但我被困在一个点上..

I am learning libgdx but i am stuck at a point..

我在我的舞台上添加了一个按钮,现在我想在舞台上添加一个图像,以便图像看起来像按钮的背景图像.我的意思是说按钮应该位于图像上.我一直在寻找教程,但无法做到这一点.

I have added a button in my stage , now i want to add a image in the stage so that the image looks as the background image to the button.i mean to say that the button should lie on the image. I have been looking tutorials but not been able to do that.

怎么做?有什么帮助吗?

How can it be done? any help?

推荐答案

您唯一需要做的就是在绘制Button之前绘制背景.
有几种可能的方法来做到这一点:
- 您可以将背景作为 Image(Actor 的子类)添加到 Stage 并使用 z-index 确保它被绘制为背景.
- 您可以获取 StageSpriteBatch (stage.getBatch()) 并使用其中一种 draw 方法在调用 stage.draw()

The only thing you need to do is to draw the background, before drawing the Buttons.
There are a few possible ways to do that:
- You can add the background as an Image (subclass of Actor) to the Stage and use the z-index to make sure it is drawn as a background.
- You can get the Stages SpriteBatch (stage.getBatch()) and use one of its draw methods to draw the background, before calling stage.draw()

您也可以使用另一个 SpriteBatch,但我不推荐它,因为它是一个非常重"的对象,在这种情况下它不是必需的.
我猜,在调用 stage.draw() 之前,你需要调用 spritebatch.end(),因为你习惯于 SpriteBatch绘制背景.

You could also use another SpriteBatch, but i don't recommend it, as it is a pretty "heavy" object and it is just not neccessaty in this case.
I guess, before calling stage.draw() you need to call spritebatch.end(), for the SpriteBatch you used to draw the background.

相关文章