먼저 Texture vs TextureRegion : Texture t = new Texture (path)와 같은 작업을 수행하면 GPU에로드합니다. 또한 2 텍스처의 힘을로드해야합니다. 다른 해상도 (Texture.setEnforcePotImages = false)로 작업 할 수 있지만 pow 2를 사용하는 것이 좋습니다.
이제 TextureRegion은 치수에 상관없이 Texture에서 "조각"을 가져옵니다. 하나의 Texture와 그 TextureRegion을 여러 TextureRegion으로 사용하면 모든 영역을 GPU에로드 할 수 없다는 장점이 있습니다.
SpriteBatch를 사용하여 그릴 때 여러 텍스처 대신 TextureRegion을 사용하는 것이 훨씬 효율적이므로 영어가 충분하지 않아서 죄송합니다. 여기에 좋은 설명이 있습니다 : Textures TextureRegion & SpriteBatch
이제 모든 스프라이트 시트와 이미지에 TextureRegion과 하나의 단일 이미지를 2 해상도로 사용하려고합니다. 모든 좌표와 치수로 TextureRegions를 만들어야합니까? 픽셀 수를 계산하려면 페인트를 열어야합니까? 안돼. TexturePacker 와 같은 것을 사용할 수 있습니다 . 모든 텍스처를 하나의 이미지로 압축하고 치수와 좌표가 모두 포함 된 .pack 파일을 만듭니다.
결과는 다음과 같습니다.
Texture를 생성하는 대신, 다음과 같이 TextureAtlas를 생성하십시오 :
이제 TextureRegions를 만드는 것은 다음과 같이 간단합니다.
(영역 이름은 확장자가없는 원본 이미지의 이름입니다).
Sprite는 Batch를 사용하여 2D 스프라이트를 그리기위한 지오메트리, 색상 및 텍스처 정보를 보유합니다. 즉, 쉽게 회전하고 이동할 수 있습니다. 나는 자신의 Entity 클래스를 만들었고 Sprite 클래스가 필요하지 않습니다. 아마 똑같이 할 것입니다. 이 클래스가 실제로 유용하지 않습니다.
이미지 클래스는 Actor에서 상속합니다. 즉, 스테이지에 추가 할 수 있습니다. Scene2D 패키지의 일부입니다. libgdx를 처음 사용하고이 패키지에 대해 모른다면이 클래스에 대한 충분한 정보입니다. 정말 흥미로운 주제이지만이 질문에 대답하지는 않습니다.
그것이 도움이되기를 바랍니다 :)