2015-10-18 24 views
0

我在不同的行上有很多不同精靈的spritesheet,我無法在任何地方找到解決方案。也許我不會正確地解答這個問題。我有一個精靈表,帶有一個用於步行運行的動畫,並且可以攻擊spritesheet的不同行,還有一種方法可以訪問精靈表的特定行嗎?任何幫助非常感謝遺憾的問題。獲取框架動畫中的特定行libgdx java

回答

1

https://github.com/libgdx/libgdx/wiki/2D-Animation您可以找到一個示例,它遍歷spritesheet中的所有幀。你可以簡單地修改它,爲不同的行創建單獨的動畫。我想修改創建方法類似這樣的

public void create() { 
    walkSheet = new Texture(Gdx.files.internal("animation_sheet.png")); // #9 
    TextureRegion[][] tmp = TextureRegion.split(walkSheet, walkSheet.getWidth()/FRAME_COLS, walkSheet.getHeight()/FRAME_ROWS);    // #10 
    walkFrames = new TextureRegion[FRAME_COLS]; 
    anim = new Animation[FRAME_ROWS]; 
    for (int i = 0; i < FRAME_ROWS; i++) { 
    for (int j = 0; j < FRAME_COLS; j++) { 
     walkFrames[j] = tmp[i][j]; 
    } 
    anim[i] = new Animation(0.025f, walkFrames); 
    } 
    spriteBatch = new SpriteBatch();    // #12 
    stateTime = 0f;       // #13 
} 

然後每個動畫[]將是一個不同的行,您可以通過數組索引訪問它們。動畫[] anim;應該添加爲一個字段。