0

我想知道如何使用一组成员的 textureRegion 来绘制演员。

假设我有一群敌人。

private Group enemies;

private SpriteBatch batcher;

对于一个演员,我是这样画的。

batcher = new SpriteBatch();
batcher.begin();
batcher.draw(textureRegion, actor position parameters vs vs);
batcher.end();

我想知道如何把整个组的演员都画成这样?有一种绘图方法,但此方法不带 TextureRegion 参数。

public void draw(Batch batch,
        float parentAlpha)

我可以像这样用 TextureRegion 绘制组吗?

enemies.draw(textureRegion, vs vs);
4

1 回答 1

1

使用的全部意义scene2D(这是您的 Group 的来源)是将演员添加到Stage游戏 Screen 中。在该render()方法期间,您调用Stage.act(delta)and Stage.draw()。如果您不打算这样做,为什么不简单地使用 TextureRegion 的 ArrayList 或“Enemy”类?

如果您坚持使用 Group,您可以尝试遍历该组的每个成员并获取其关联的 TextureRegion,但大多数 Actor 没有直接访问它的权限,除非您尝试将它们投射getDrawable()到 aTextureRegionDrawable中,这很麻烦。

我建议你看看https://github.com/libgdx/libgdx/wiki/Scene2d。如果使用得当,Scene2D 会为您提供TextureRegion单独使用无法获得的强大功能和便利。

于 2014-04-12T19:12:14.480 回答