在Kinetic JS中加载多个图像时可拖动的问题

时间:2014-07-01 12:28:16

标签: javascript jquery json draggable kineticjs

$.ajax({
        type: 'get',
        url: myUrl,
        success: function(data) {
            //alert("ajax");
            $.each(data, function(idx, obj) {
                createImage(obj.id, obj.mPosX, obj.mPosY);
            });
        },
        contentType: "application/json",
        dataType: 'json'
    });

function createImage(mId, curX, curY) {
    var layer2 = new Kinetic.Layer();
    var imageObj = new Image();
    imageObj.src = 'img/pawn.png';
    imageObj.onload = function() {
        pImage[mId] = new Kinetic.Image({
            x: curX,
            y: curY,
            image: imageObj,
            draggable:true,
            id: pImage[mId]
        });
        layer2.add(pImage[mId]);
        layer2.setScale(cur_scale);
        stage.add(layer2);
    };
}

我正在尝试从JSON文件中添加具有不同位置的多个图像,我成功地将图像放置在准确的位置,但问题是如果我尝试拖动图像将其自身定位在画布顶部。 / p>

知道它为什么会这样。?

1 个答案:

答案 0 :(得分:0)

现在您正在为每个图像创建一个新图层。这不是KJS的工作方式。

首先创建一个舞台,然后创建一个图层,然后将所有图像添加到这一个图层。 也许这会解决问题。