/ / Libgdx múltiplas texturas em um sprite - java, libgdx

Libgdx várias texturas em um sprite - java, libgdx

Eu estou trabalhando para um jogo e entro neste ponto: eu gostaria de ter 2 texturas em um único sprite, isso é possível?

Quero dizer: eu preciso de um para ser definido em um ângulo específico, e o outro para estar girando continuamente. Eu tenho procurado na internet, mas não encontrei nada relacionado.

Ou .. existe uma maneira melhor de fazer isso?

Respostas:

0 para resposta № 1

UMA Sprite herda de um TextureRegion. Esta é a definição de TextureRegion:

Define uma área retangular de uma textura.

Então um Sprite realmente é apenas um pedaço de textura, isso significa que você só pode transformar um Sprite como um todo.

Se você quiser envolver vários Sprites em uma única classe, sugiro usar Scene2D. Você poderia desenhar dois sprites em Actor.draw():

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

O ator é então adicionado a um Stage

stage.addActor(actor);

0 para resposta № 2

Sprite é um TextureRegion que contém geometria, cor e outras informações de textura para desenhar, assim você não pode manter múltiplas texturas em um sprite e usar todas para desenhar.

Então use 1st se você não estiver usando scene2d mais vai com 2nd ou 3rd opção.

  1. Crie uma classe própria que contenha dois textureRegion e desenhe por si mesmo de acordo com sua necessidade.

  2. Crie um Group como pai de suas imagens. Crie diferentes Image, adicione específico Action, Color e outra propriedade e, em seguida, adicionar ao grupo pai.

  3. Crie um CompositeImage herdando Image class e adicione um novo TextureRegion como propriedade de sua nova classe. sobrepor draw (Batch batch, float parentAlpha) método e desenhe seu textureRegion adicionado.