그래서 내가 말할 수있는 것부터는 쉬운 해결책이 없다. (지금은 libgdx에 액세스 할 수 없기 때문에 아무것도 테스트하지 않았다.)
번역을 추적하는 것이 필요하면 레이어에 위치 (vector2 또는 기타)를 지정하는 것이 가장 쉽고 스프라이트의 위치를 계산할 때는 레이어의 위치로 오프셋을 설정하십시오.
모든 변환 (회전, 축척 등)에 액세스해야하는 경우 matrix3을 사용하는 것이 가장 좋습니다. matrix3s를 사용하면 변환, 축척, 회전 등을 통해 여러 가지 변형을 추가 한 다음 행렬을 곱하여 변형을 적용 할 수 있습니다.
예를 들어 'object'라는 Sprite 객체를 사용하는 경우 코드는 다음과 유사 할 수 있습니다. 당신이 당신의 위치를 저장하는 Vector2를 사용하는 경우 있도록 벡터 곱셈 기능은, 원래의 벡터를 변경하는 것이
Matrix3 mat3 = new Matrix3();
//do your transformations
Vector2 vec2 = new Vector2(object.getX(), object.getY());
vec2.mul(mat3);
object.setPosition(vec2.x, vec2.y);
주, 당신은 아마 당신이 LibGDX에서
스프라이트를 변환을 적용하기 전에 그것의 복사본을 만들려면 은 단일 메쉬로 함께 배치하기위한 것이므로 각 행마다 변형을 수정하기 위해 별도의 행렬을 사용하지 않습니다. 설명 된대로 트리의 가지를 변형 할 수있는 부모와 자식의 계층 구조를 만들려면 scene2d를 읽어보십시오. https://github.com/libgdx/libgdx/wiki/Scene2d LibGDX는 변환을 위해 행렬을 사용합니다 메쉬. Matrix3 및 Matrix4 클래스가 있습니다. Sprite 클래스에서는 유용하지 않습니다. – Tenfour04
네, 맞습니다. 나는 Scene2d를 탐구했고 그것이 내가 원하는 것을 많이한다. 그러나 모든 것을 오버 헤드 전환하는 꽤 많은 비트가 있습니다. 이것은 내가 미래에하고 싶은 일이지만, 지금은 빠른 수정이 필요합니다. – Vas