【问题标题】:Keep KineticJS shapes inside canvas将 KineticJS 形状保留在画布内
【发布时间】:2012-11-18 17:03:37
【问题描述】:

在使用 KineticJS 的拖放功能时,是否有一种简单的方法可以确保您的形状留在画布内?

标准,形状会稍微离开画布,直到鼠标碰到画布边框。我希望它是形状边框,而不是鼠标。

有没有办法做到这一点?

【问题讨论】:

    标签: javascript canvas draggable kineticjs shapes


    【解决方案1】:

    使用KineticJS tutorial中解释的dragBoundFunc

    这是JS fiddle

    还有代码:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      • 2013-07-26
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 2021-09-19
      • 2011-08-01
      相关资源
      最近更新 更多