KineticJS更改对象的坐标
KineticJS changing coordinates for objects
我不明白为什么会有微分位移结果。多边形和文本均匀移动,线相对误差多边形移动。
function setNewPosition(x, y) {
var lines = stage.find('Line');
if (lines.length > 0) {
lines.forEach(function inLines(line) {
var points = line.getPoints();
if (points.length > 0) {
points.forEach(function pSet(p) {
p.x += x;
p.y += y;
});
}
});
};
polygons = stage.find('Polygon');
if (polygons.length > 0) {
polygons.forEach(function inPoly(polygon) {
var points = polygon.getPoints();
if (points.length > 0) {
points.forEach(function pSet(p) {
p.x += x;
p.y += y;
});
}
});
};
texts = stage.find('Text');
if (texts.length > 0)
texts.forEach(function inText(text) {
oX = text.getX();
oY = text.getY();
text.setX(oX + x);
text.setY(oY + y);
}
);
layer.draw();
}
我认为你不应该篡改要点。每个形状都有一个move()方法,为什么不使用它呢?
move()将形状相对于之前的位置进行移动,因此调用将为move(-80,0)。
此外,为什么要检查查找数组的长度?如果你在之后使用forEach,那就没用了,因为当你什么都没找到的时候,forEach什么都不做。
另一个想法是:你使用forEach,那是IE9+。为什么不使用Kinetijs Collection.ech()方法呢?
编辑:你也可以移动整个层,不需要在找到的对象上循环。
相关文章:
- 使用地理坐标,对更靠近用户的对象进行排序'的位置
- 以编程方式将fabric-js-canvas的图像替换为hq图像,并重新计算其他对象的坐标和大小
- KineticJS更改对象的坐标
- 如何使用本地坐标旋转对象
- ThreeJS光线投射器关闭,相机和对象坐标大于1000000
- 如何按度数更改对象的 x 和 y 坐标
- 三.js获取具有给定世界方向坐标的场景矢量的对象相对局部方向
- Photoshop 脚本:智能对象的坐标
- 如何连续地将拉斐尔画布(包含一些对象)从一个坐标移动到另一个坐标再到其他坐标
- 如何将 SVG 对象的 X Y 坐标的中心转到平面的中心
- jQuery UI:Y 鼠标在放置可拖动对象时坐标错误
- 如何使用矢量作为坐标在画布上绘制对象
- 如何从点(X 和 Y 坐标)创建范围对象
- 使用THRE.js通过坐标自定义三维对象
- 如何在JavaScript中使坐标对象动态
- 创建一个Javascript对象来容纳用户'的地理位置坐标
- 如何使用fabric js中的image.centerObject()将对象居中后获得图像坐标
- 使用谷歌地图坐标连接两个对象数组
- 如何在Javascript的onclick函数中放置x和y坐标对象中的动画
- 在数组中设置多个谷歌地图坐标对象