如何递增图形位置的(x,y)值?Point类y值递增实现咨询
实现Point类y值递增的可行方案
要实现每个port对应Point的y值递增,核心是在循环过程中维护一个动态变化的y值变量,每次创建Point时传入当前的y值,之后更新该变量即可。具体修改如下:
// 初始化y起始偏移量,步长可按需调整 let yOffset = 0; const yIncrementStep = 20; // 每次y值递增的幅度 for (const port of node.ports) { const targetPoint = port.tag.portConnector.charAt(0) === "P" ? new Point(-10, yOffset) : new Point(8, yOffset); graph.setRelativePortLocation(port, targetPoint); // 完成当前port的位置设置后,递增y值 yOffset += yIncrementStep; }
关键说明:
- 循环外部定义
yOffset作为初始y坐标,yIncrementStep控制每次递增的数值,可根据布局间距需求修改 - 不再创建固定y=0的Point实例,而是根据当前
yOffset动态生成对应坐标的Point - 每处理完一个port后,更新
yOffset的值,确保下一个port的y坐标自动递增
内容的提问来源于stack exchange,提问作者Cameron Bogucki
相关产品推荐
相关产品推荐

