动力学js节省帆布阶段

时间:2014-11-02 19:57:36

标签: javascript html5 kineticjs

我还在学习kinecticjs,并想知道如何保存卡瓦斯的状态?

自: http://www.html5canvastutorials.com/kineticjs/html5-canvas-save-stage-as-json-string-with-kineticjs/

      // save stage as a json string
      var json = stage.toJSON();

      console.log(json);

但是如何重新加载?感谢

2 个答案:

答案 0 :(得分:1)

每个对象在属性className中引用其类名。因此,它应该像迭代JSON对象并执行类似

之类的操作一样简单
var obj = new Kinetic[node.className](node.attrs);

使用JSON.parse()将字符串转换为可用对象。

答案 1 :(得分:0)

有一个教程here用于从JSON字符串加载阶段。 你必须这样做:

var json = '{"attrs":{"width":578,"height":200},"className":"Stage","children":[{"attrs":{},"className":"Layer","children":[{"attrs":{"x":289,"y":100,"sides":6,"radius":70,"fill":"red","stroke":"black","strokeWidth":4},"className":"RegularPolygon"}]}]}';

// create node using json string
var stage = Kinetic.Node.create(json, 'container');

希望回答这个问题。