2013-06-18 3 views
0

이전에는 스프라이트 기반 애니메이션에 간단한 Texture을 사용했지만 2의 거듭 제곱이 아닌 이미지는 지원하지 않았습니다. TexturePacker은 모든 이미지를 한 번에로드 할 수있는 기능을 제공합니다. 그런 다음 imageatlas에서 필요한 이미지를 가져옵니다.imageatlas에서 이미지를로드 할 수 없습니다.

그렇다면 Libgdx 위키에서 몇 가지 튜토리얼을 따라 가며로드 부분까지 잘 작동합니다. 하지만 렌더링하는 동안 문제가 발생한다고 생각합니다.

private static final String INPUT_DIR = "../Drop-Android/assets/images"; 
    private static final String OUTPUT_DIR = "../Drop-Android/assets/image-atlases"; 
    private static final String PACK_FILE = "pages-info"; 
    public static void main(String[] args){ 
     LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration(); 
     cfg.title = "Drop"; 
     cfg.width = 800; 
     cfg.height = 480; 

     Settings settings = new Settings(); 
     settings.maxWidth = 512; 
     settings.maxHeight = 512; 
     TexturePacker2.process(settings, INPUT_DIR, OUTPUT_DIR, PACK_FILE); 
     new LwjglApplication(new Drop(), cfg); 
    } 

질문을 : 이것은 내가 내 바탕 화면 프로젝트에서 texturepacker에 이미지를로드하고 어떻게 내가 작성해야합니까 pages-info 즉 수동으로 이미지-지도 책 폴더에 PACK_FILE? 내가하지 않으면 File not found exception을 던졌습니다.

pages-info 파일을 image-atlases 폴더에 생성하면 pages-info.png 및 'pages-info.atlas'파일이 생성됩니다. pages-info 파일이 비어있는 동안 .png.atlas 파일에는 각각 이미지와 JSON 이미지 데이터가 있습니다.

이 내가 (비어 있음) pages-info 파일의 아웃 textureregions를 추출하는 데 사용하고 무엇을 다음 textureregion을 그릴 때

예상대로
TextureAtlas ta = new TextureAtlas(Gdx.files.internal("image-atlases/pages-info")); 
     imageOneRegion = ta.findRegion("image1.png"); 
     imageTwoRegion = ta.findRegion("image2.png"); 

는, 그것이 nullpointerexception을 반환합니다. 나는 여기에 아이디어, 어떤 도움과 아이디어가 부족합니까?

답변

2

Texturepacker를 사용하여 정적 Image Atlases를 생성하면 필요한 정보 페이지도 생성됩니다. (libgdx wiki)는 packName.atlas 같은 호출되어 무언가 (명령 행에서 그것을 시도)

java -cp gdx.jar;extensions/gdx-tools/gdx-tools.jar com.badlogic.gdx.tools.imagepacker.TexturePacker2 inputDir [outputDir] [packFileName] 

당신이 바로 아틀라스 파일을로드해야합니다 이미지를로드에 오는 경우는, 그것은 JSON 파일 수 있지만 안된다 사용자 정의 파일 형식.

TextureAtlas ta = new TextureAtlas(Gdx.files.internal("image-atlases/<yourAtlasName>.atlas")); 

그런 다음 파일 이름없이 png를 참조 할 수 있습니다.

+0

네, 제가 잘못한 것은 이미지 이름과 아틀라스 파일 이름을 잘못 얻은 것 같습니다. 그러나 파일의 생성을 시작하려면'page-info'가 필요했습니다. – faizanjehangir