我在理解 Kinetic.Node.create(myJson,'container') 函數是如何工作的問題。kinetic.js加載階段...失去的基準
我有一個簡單的項目。生成一個circleLayer並添加一個圓。現在我可以通過circleLayer.removeChildren(); 但是,當我將舞臺保存到JSON並重新加載時,對圓的引用得到了洛杉磯...現在我無法刪除它... 這是我的代碼。
有沒有人有想法?
var myJson;
var stage;
var circleLayer;
var myWidth = 500;
var myHeigth = 350;
function createStagesAndLayer() {
stage = new Kinetic.Stage({
container: 'container',
width: myWidth,
height: myHeigth
});
circleLayer = new Kinetic.Layer();
stage.add(circleLayer);
}
function deleteCircle() {
circleLayer.removeChildren();
circleLayer.draw();
}
function saveData() {
myJson = null;
myJson = stage.toJSON();
}function loadData() {
if (myJson == null) {
alert("Keine Daten gefunden!!");
return;
}
// I need to remoce it...otherwise my drawing area will grow. But I think here somewhere is the problem
stage.remove(circleLayer);
stage = Kinetic.Node.create(myJson, 'container');
}
function generateCircle() {
var circle = new Kinetic.Circle({
x: stage.getWidth()/2,
y: stage.getHeight()/2,
radius: 30,
fill: 'red',
stroke: 'black',
strokeWidth: 2,
draggable: true
});
circleLayer.add(circle);
circleLayer.draw();
}
這個答案給了我一點點從這個角度來看這是如何創建從json的工作。它給我的撤消/重做方法超過它的頭:)。那麼我必須找到另一種方式。 – Ervin