所以我有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 :(得分:0)
似乎渲染器每次调用时都会清理画布,更好的方法是为每个动画创建一个画布,并将渲染器绑定到每个动画。