首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Easeljs卡入网格

Easeljs卡入网格
EN

Stack Overflow用户
提问于 2015-06-09 08:31:32
回答 1查看 1.4K关注 0票数 1

我正在构建一个使用HTML5绘制网格的应用程序。我有一些形状可以让你移动。我想要做的是,当你移动一个形状的时候,把物体拍到一些定义的点上。我尝试的是保存数组中的锚点,当形状被删除时,我在最近的锚点上绘制形状。easeljs是我的主要js,所以我想保留它,但是如果需要,我可以使用另一个带有Easeljs的js。

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-09 20:49:59

这很简单:

  1. 在每个点上循环,并获得到鼠标的距离。
  2. 如果项目比其他项目更接近,则将对象设置为其位置。
  3. 否则,用鼠标代替。

下面是最新的EaselJS:http://jsfiddle.net/lannymcnie/qk1gs3xt/的快速示例

距离检查如下所示:

代码语言:javascript
复制
// Determine the distance from the mouse position to the point
var diffX = Math.abs(event.stageX - p.x);
var diffY = Math.abs(event.stageY - p.y); 
var d = Math.sqrt(diffX*diffX + diffY*diffY);        

// If the current point is closeEnough and the closest (so far)
// Then choose it to snap to.
var closest = (d<snapDistance && (dist == null || d < dist));
if (closest) {
     neighbour = p;          
}

这张照片非常简单:

代码语言:javascript
复制
// If there is a close neighbour, snap to it. 
if (neighbour) {
    s.x = neighbour.x;
    s.y = neighbour.y;

// Otherwise snap to the mouse
} else {
    s.x = event.stageX;
    s.y = event.stageY;
}

希望这能帮上忙!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30726835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档