두 버전 모두 사용할 수 있지만 어떤 버전을 사용해야하며 그 버전을 사용해야하는 이유는 무엇입니까? 이미 애셋을 언로드 한 경우 TextureAtlas를 처리해야합니까?AssetManager - 사용할 버전
버전 1 : 팩 파일 (위치 데이터가있는 TexturePacker 파일)을 png와 함께로드하십시오.
gameSpriteSheet = new TextureAtlas(Gdx.files.internal(DATA_DIR_PATH + "GameSpritesPack.txt"));
assetManager.load(DATA_DIR_PATH + "GameSpritesPack.txt");
assetManager.load(DATA_DIR_PATH + "GameSpritesPack.png");
// Call only if assetmanager's update method returns true
headerRegion = getTexture("MainMenuHeader", gameSpriteSheet);
는 언로드하려면 :
if (assetManager.isLoaded(DATA_DIR_PATH + "GameSpritesPack.txt")) {
assetManager.unload(DATA_DIR_PATH + "GameSpritesPack.txt");
}
if (assetManager.isLoaded(DATA_DIR_PATH + "GameSpritesPack.png")) {
assetManager.unload(DATA_DIR_PATH + "GameSpritesPack.png");
}
if(gameSpriteSheet != null) {
gameSpriteSheet.dispose();
}
버전 2 :로드 전용 팩 파일 (위치 데이터와 TexturePacker 파일).
assetManager.load(DATA_DIR_PATH + "GameSpritesPack.txt");
// Call only if assetmanager's update method returns true
gameSpriteSheet = assetManager.get(DATA_DIR_PATH + "GameSpritesPack.txt", TextureAtlas.class);
headerRegion = getTexture("MainMenuHeader", gameSpriteSheet);
는 언로드하려면 :
if (assetManager.isLoaded(DATA_DIR_PATH + "GameSpritesPack.txt")) {
assetManager.unload(DATA_DIR_PATH + "GameSpritesPack.txt");
}
if(gameSpriteSheet != null) {
gameSpriteSheet.dispose();
}
참고 : 내가 AssetManager하고 다른 블로그에 마리오의 게시물을 읽었지만 내가 왜 두 버전 모두 잘 작동 이상 얻을 수가 없습니다.
고맙습니다. 따라서, 팩 파일 (이 경우 .txt)을로드하면 자동으로 연결된 .png 파일이로드됩니다. 마지막으로 내가 놓친 스레드에 질문이 있습니다. 두 번째 버전에서 애셋을 삭제 한 경우에도 spritesheet (TextureAtlas)를 처리해야합니까? – Malakai
예.'.txt' 파일이'TextureAtlas'에로드되면 참조 된 모든 텍스처 파일을로드합니다. 자산 관리자가 수동으로로드 한 자산은 수동으로 폐기하지 않아야합니다. AssetManager에서'unload'를 사용하십시오. https://code.google.com/p/libgdx/wiki/AssetManager –
질문에 내 코드가 표시되면 그랬습니다. 하지만 언로드 한 후에는 TextureAtlas (gameSpritePack)를 삭제했습니다. 맞습니까? 그렇지 않아도됩니까? 고맙습니다. – Malakai