2012-02-20 2 views
1

TexturePacker를 사용합니다. 내 텍스처 포장 나는이 파일이 있습니다TexturePacker (AndEngine)로 텍스처로드

  • sample.png
  • sample.tps
  • sample.xml
  • sample.java

이러한 자원은 assets/gfx/sample입니다를. 프로젝트 sample.java에 연결되었습니다.
이 코드가 있습니다

Textures.java

public class Textures { 

private ITexture mSpritesheetTexture; 
private TexturePackTextureRegionLibrary mSpritesheetTexturePackTextureRegionLibrary; 
private TextureRegion faceTextureRegion; 
private TexturePack spritesheetTexturePack; 

public Textures(final BaseGameActivity activity, final Engine engine) { 
    try { 
     BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/"); 
     this.spritesheetTexturePack = new TexturePackLoader(activity, "sample/").loadFromAsset(activity, "faces.xml"); 
     this.mSpritesheetTexture = spritesheetTexturePack.getTexture(); 
     this.mSpritesheetTexturePackTextureRegionLibrary = spritesheetTexturePack.getTexturePackTextureRegionLibrary(); 
     this.faceTextureRegion = this.mSpritesheetTexturePackTextureRegionLibrary.get(faces.FACES_ID); 

     engine.getTextureManager().loadTexture(this.mSpritesheetTexture); 
    } catch (final TexturePackParseException e) { 
     Log.e("Error", String.valueOf(e)); 
    } 
} 

public TextureRegion getT(){ 
    return faceTextureRegion; 
} 

} 

Main.java

... 
Textures textures; 
... 
@Override 
public void onLoadResources() { 
    textures = new Textures(this, getEngine()); 
} 

정의 스프라이트와 나는이 줄에 오류가 발생합니다 :

final Sprite spriteS = new Sprite(50, 50, textures.getT()); 

E/AndroidRuntime(391): Caused by: java.lang.NullPointerException 
E/AndroidRuntime(391): at com.web.scene.AboutScene.<init>(AboutScene.java:24) 

내 실수는 무엇입니까?

답변

2

onLoadResources()이 실행되기 전에 Sprite spriteS을 초기화하는 것이 문제라고 가정합니다. 이 같은

뭔가 당신을 도울 수 있습니다

Textures textures; 
Sprite spriteS; 
... 
@Override 
public void onLoadResources() { 
    textures = new Textures(this, getEngine()); 
    spriteS = new Sprite(50, 50, textures.getT()); 
} 

당신은 또한 장면이 만들어지는 방법에 스프라이트 초기화를 이동할 수 있습니다.

P. 단지 예제 코드 일뿐입니다. 그것은 깨끗하고 좋은 스타일을 제공하기위한 것이 아닙니다.

관련 문제