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 № 1UMA 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.
Crie uma classe própria que contenha dois textureRegion e desenhe por si mesmo de acordo com sua necessidade.
Crie um
Group
como pai de suas imagens. Crie diferentesImage
, adicione específicoAction
,Color
e outra propriedade e, em seguida, adicionar ao grupo pai.Crie um CompositeImage herdando
Image
class e adicione um novo TextureRegion como propriedade de sua nova classe. sobrepordraw (Batch batch, float parentAlpha)
método e desenhe seu textureRegion adicionado.