Javascript 将KineticJS形状保留在画布中

Javascript 将KineticJS形状保留在画布中,javascript,canvas,draggable,kineticjs,shapes,Javascript,Canvas,Draggable,Kineticjs,Shapes,在使用KineticJS的拖放功能时,有没有一种简单的方法确保您的形状留在画布中 标准的,形状离开画布一点,直到你的鼠标点击画布边界。我希望这是形状的边界,而不是鼠标 有没有办法做到这一点?使用 这里有一个 以及守则: dragBoundFunc: function(pos) { console.log(bbox.getWidth()); var xBound = stage.getWidth() - bbox.getWidth(); var yBound = stage

在使用KineticJS的拖放功能时,有没有一种简单的方法确保您的形状留在画布中

标准的,形状离开画布一点,直到你的鼠标点击画布边界。我希望这是形状的边界,而不是鼠标


有没有办法做到这一点?

使用

这里有一个

以及守则:

dragBoundFunc: function(pos) {
    console.log(bbox.getWidth());
    var xBound = stage.getWidth() - bbox.getWidth();
    var yBound = stage.getHeight() - bbox.getHeight();

    // Check X boundries
    if (pos.x > xBound) {
        var newX = xBound;
    } else if (pos.x <= 0) {
        var newX = 0;
    } else {
        var newX = pos.x;
    }

    // Check Y boundries
    if (pos.y > yBound) {
        var newY = yBound;
    } else if (pos.y <= 0) {
        var newY = 0;
    } else {
        var newY = pos.y;
    }

    return {
        x: newX,
        y: newY
    };
}
dragBoundFunc:函数(pos){
log(bbox.getWidth());
var xBound=stage.getWidth()-bbox.getWidth();
var yBound=stage.getHeight()-bbox.getHeight();
//检查X边界
如果(位置x>xBond){
var newX=xBound;
}否则,如果(位置x YBOND){
var newY=yBound;

}else if(位置y使用中解释的
dragBoundFunc

这里有一个

以及守则:

dragBoundFunc: function(pos) {
    console.log(bbox.getWidth());
    var xBound = stage.getWidth() - bbox.getWidth();
    var yBound = stage.getHeight() - bbox.getHeight();

    // Check X boundries
    if (pos.x > xBound) {
        var newX = xBound;
    } else if (pos.x <= 0) {
        var newX = 0;
    } else {
        var newX = pos.x;
    }

    // Check Y boundries
    if (pos.y > yBound) {
        var newY = yBound;
    } else if (pos.y <= 0) {
        var newY = 0;
    } else {
        var newY = pos.y;
    }

    return {
        x: newX,
        y: newY
    };
}
dragBoundFunc:函数(pos){
log(bbox.getWidth());
var xBound=stage.getWidth()-bbox.getWidth();
var yBound=stage.getHeight()-bbox.getHeight();
//检查X边界
如果(位置x>xBond){
var newX=xBound;
}否则,如果(位置x YBOND){
var newY=yBound;
}否则,如果(位置y