簡體   English   中英

將KineticJS形狀保留在畫布中

[英]Keep KineticJS shapes inside canvas

使用KineticJS的拖放功能時,是否有一種簡單的方法來確保形狀停留在畫布中?

標准情況下,形狀會稍稍離開畫布,直到您的鼠標碰到畫布邊框為止。 我希望它是形狀邊框,而不是鼠標。

有沒有辦法做到這一點?

使用dragBoundFunc在解釋KineticJS教程

這是一個JS小提琴

和代碼:

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
    };
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM