为什么 konvas [object].position() 对于形状和舞台的工作方式不同?
Why does konvas [object].position() work differently for a shape and a stage?
当尝试在 Konva 中定位一个形状时,您可以使用 .position()
函数,并且您使用坐标,就像在大多数 2d 图形中填充一个倒置的 y 网格,因此 100、100 将是右 100px 和下 100px。
但是!在舞台 object 上使用 .position()
时,您似乎会得到非常奇怪的效果(与我遇到过的任何网格不同)得到一个倒置的 x 网格,因此 100、100 将保留 100px 及以上100px
我对 2d 图形的处理不多,所以我可能遗漏了一些明显的东西,但是 stage.position()
的文档说 get/set node position relative to parent
并且它继承自 Konva.Node#position
完全相同正如 shape.position()
文档中所述。是不是那个阶段没有 parent 所以它的行为不同?还是我还漏掉了什么?
展示舞台定位与形状定位的示例
https://jsfiddle.net/uvp3k6wy/
它们的工作原理完全相同。
node.position()
将定义 "where we need to draw a node"。
stage.position({x: 50, y: 50});
意味着该阶段的所有节点将从 canvas 上的 {x: 50, y: 50}
位置绘制。所以整个舞台向右下方向移动 50, 50
像素。
如果你在{x: 0, y: 0}
中有一个红色圆圈,它将有一个绝对位置{x: 50, y: 50}
,因为它移动了我的舞台位置。
当尝试在 Konva 中定位一个形状时,您可以使用 .position()
函数,并且您使用坐标,就像在大多数 2d 图形中填充一个倒置的 y 网格,因此 100、100 将是右 100px 和下 100px。
但是!在舞台 object 上使用 .position()
时,您似乎会得到非常奇怪的效果(与我遇到过的任何网格不同)得到一个倒置的 x 网格,因此 100、100 将保留 100px 及以上100px
我对 2d 图形的处理不多,所以我可能遗漏了一些明显的东西,但是 stage.position()
的文档说 get/set node position relative to parent
并且它继承自 Konva.Node#position
完全相同正如 shape.position()
文档中所述。是不是那个阶段没有 parent 所以它的行为不同?还是我还漏掉了什么?
展示舞台定位与形状定位的示例 https://jsfiddle.net/uvp3k6wy/
它们的工作原理完全相同。
node.position()
将定义 "where we need to draw a node"。
stage.position({x: 50, y: 50});
意味着该阶段的所有节点将从 canvas 上的 {x: 50, y: 50}
位置绘制。所以整个舞台向右下方向移动 50, 50
像素。
如果你在{x: 0, y: 0}
中有一个红色圆圈,它将有一个绝对位置{x: 50, y: 50}
,因为它移动了我的舞台位置。