Libgdx在一个精灵中有多个纹理

时间:2017-07-01 20:14:01

标签: java libgdx

我正在为一个游戏而努力并进入这一点:我希望在一个精灵中有2个纹理,这可能吗?

我的意思是:我需要一个以特定角度设置,另一个要连续旋转。我一直在网上看,但没有发现任何相关内容。

或..有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

Sprite继承自TextureRegion。 这是TextureRegion

的定义
  

定义纹理的矩形区域。

所以Sprite实际上只是一块纹理,这意味着你只能将一个精灵变换为一个整体。

如果你想将多个Sprite包装成一个类,我建议使用Scene2D。您可以在Actor.draw()中绘制两个精灵:

public void draw() {
    sprite1.draw();
    sprite1.rotate(…);
    …
    sprite2.draw();
    …
}

然后将演员添加到Stage

stage.addActor(actor);

答案 1 :(得分:0)

Sprite是一个TextureRegion,用于保存绘图的几何图形,颜色和其他纹理信息,因此您无法在Sprite中保留多个纹理并将其全部用于绘制。

因此,如果您不使用scene2d,则使用1 st 使用2 nd 或3 rd 选项

  1. 创建包含两个textureRegion的自己的类,并根据您的要求自行绘制。

  2. 创建Group作为图片的父级。创建不同的Image,添加特定的ActionColor和其他属性,然后添加到父组。

  3. 通过继承Image类创建CompositeImage,并添加一个新的TextureRegion作为新类的属性。覆盖draw (Batch batch, float parentAlpha)方法并绘制添加的textureRegion。

相关问题