2017-08-03 24 views
0

我在代碼中使用SkeletonJson.readSkeletonData時遇到了問題。如何使用SkeletonJson.readSkeletonData?

public void create() { 
    camera = new OrthographicCamera(); 
    batch = new PolygonSpriteBatch(); // Required to render meshes. SpriteBatch can't render meshes. 
    renderer = new SkeletonRenderer(); 
    renderer.setPremultipliedAlpha(true); 
    debugRenderer = new SkeletonRendererDebug(); 
    debugRenderer.setMeshTriangles(false); 
    debugRenderer.setRegionAttachments(false); 
    debugRenderer.setMeshHull(false); 

    atlas = new TextureAtlas(Gdx.files.internal("raptor/raptor.atlas")); 
    SkeletonJson json = new SkeletonJson(atlas); // This loads skeleton JSON data, which is stateless. 
    json.setScale(0.5f); // Load the skeleton at 50% the size it was in Spine. 
    SkeletonData skeletonData = json.readSkeletonData(Gdx.files.internal("raptor/raptor.json")); 

    skeleton = new Skeleton(skeletonData); // Skeleton holds skeleton state (bone positions, slot attachments, etc). 
    skeleton.setPosition(250, 20); 

    AnimationStateData stateData = new AnimationStateData(skeletonData); // Defines mixing (crossfading) between animations. 

    state = new AnimationState(stateData); // Holds the animation state for a skeleton (current animation, time, etc). 
    state.setTimeScale(0.6f); // Slow all animations down to 60% speed. 

    // Queue animations on tracks 0 and 1. 
    state.setAnimation(0, "walk", true); 

    state.addAnimation(1, "gun-grab", false, 2); // Keys in higher tracks override the pose from lower tracks. 
} 

異常消息如下。

enter image description here

+0

我不知道是否因爲spine-libgdx的版本。 –

+0

請嘗試總是複製問題的代碼,尤其是堆棧跟蹤失敗的代碼,以及異常本身(以避免imgur將來刪除它並使其易於搜索)。除此之外,看起來你正在循環一個數組並在其外移動。檢查一個'for'你結束的時間太晚了(例如,'index <= array.size()') – Korcholis

回答

0

似乎在該行的代碼失敗:

SkeletonData skeletonData = 
    json.readSkeletonData(Gdx.files.internal("raptor/raptor.json")); 

我認爲問題屬於內部raptor.json。檢查它是否正常形成

+0

我可以使用skeletonViewer.jar打開raptor.json,它運行良好。 –