2015-05-29 6 views
1

Итак, у меня есть 2 или более скелета для анимации (так, 2 или более json-файлов). Я хочу, чтобы они играли одновременно и через 10 секунд, чтобы сыграть еще одну анимацию.Множественные анимации позвоночника

Проблема заключается в том, что воспроизводится только одна анимация, а вторая не отображается.

То, как я делаю это выглядит следующим образом:

<canvas id="animationCanvas" width="240" height="240"></canvas> 
<script> 
    var first = true, 
     rendererFirst = new spine.SkeletonRenderer('http://someurl.com/images/'), 
     spineAFirst = /* My JSON Code */, 
     parsedFirst = JSON.parse(spineAFirst); 

    rendererFirst.scale = 0.2; 
    rendererFirst.load(spineAFirst); 
    rendererFirst.state.data.defaultMix = 1.0; 

    for (var i in parsedFirst.animations) { 
     if (first) { 
      first = false; 
      rendererFirst.state.setAnimationByName(0, i, true); 
     } else { 
      rendererFirst.state.addAnimationByName(0, i, true, 10); 
     } 
    } 

    rendererFirst.skeleton.x = 120; 
    rendererFirst.skeleton.y = 120; 
    rendererFirst.animate('animationCanvas'); 
</script> 

И, конечно, я делаю это в два раза (или больше). Я также старался использовать один SkeletonRenderer, просто загружая (и устанавливая или добавляя) анимацию столько раз, сколько мне нужно, и это не сработало.

ответ

0

Кажется, что рендеринг очищает холст каждый раз, когда он вызывается, лучший способ добиться этого, кажется, создает холст для каждой анимации и привязывает рендерер к каждому из них.