Javascript 如何制作平行线
目前我有:Javascript 如何制作平行线,javascript,html,Javascript,Html,目前我有: // mDY = current Y-axis position // first point (X1, Y1), second point (X2,Y2); if (Y1 > mDY) mDY1 = Y1 - Math.abs(Y1 - mDY); else if (Y1 < mDY) mDY1 = Y1 + Math.abs(Y1 - mDY);
// mDY = current Y-axis position
// first point (X1, Y1), second point (X2,Y2);
if (Y1 > mDY)
mDY1 = Y1 - Math.abs(Y1 - mDY);
else if (Y1 < mDY)
mDY1 = Y1 + Math.abs(Y1 - mDY);
if (Y2 > mDY)
mDY2 = Y2 - Math.abs(Y2 - mDY);
else if (Y2 < mDY)
mDY2 = Y2 + Math.abs(Y2 - mDY);
ctx.beginPath();
ctx.moveTo(X1,Y1);
ctx.lineTo(X2,Y2);
ctx.stroke();
ctx.beginPath();
ctx.moveTo(X1, mDY1);
ctx.lineTo(X2, mDY2);
ctx.stroke();
//mDY=当前Y轴位置
//第一点(X1,Y1),第二点(X2,Y2);
如果(Y1>mDY)
mDY1=Y1-数学绝对值(Y1-mDY);
否则如果(Y1mDY)
mDY2=Y2-数学abs(Y2-mDY);
否则如果(Y2
我想要的是得到这个结果:
基本上,它们总是平行的,就像平行通道一样。根据绝对值的定义,您可以缩短这个片段
if (Y1 > mDY)
mDY1 = Y1 - Math.abs(Y1 - mDY);
else if (Y1 < mDY)
mDY1 = Y1 + Math.abs(Y1 - mDY);
那是
mDY1 = mDY
// and mDY2 = mDY, which is horizontal line
你想要的是
mDY1 = Y1 - mDY;
mDY2 = Y2 - mDY;
根据绝对值的定义,可以缩短此代码段
if (Y1 > mDY)
mDY1 = Y1 - Math.abs(Y1 - mDY);
else if (Y1 < mDY)
mDY1 = Y1 + Math.abs(Y1 - mDY);
那是
mDY1 = mDY
// and mDY2 = mDY, which is horizontal line
你想要的是
mDY1 = Y1 - mDY;
mDY2 = Y2 - mDY;
我要删除
否则mDYn=0
@JanTuroň已经更新了我的问题。看来你在这里发布了一些重要的代码。怎么样mDY1=Y1+10;mDY2=Y2+10
而不是你的if-else-if
块?@JanTuroň它将被硬编码,我们不希望它被拖到不同的位置,因为它可以被拖到不同的位置。我将删除else mDYn=0
@JanTuroň已经更新了我的问题。看起来你在这里发布了一些重要的代码。怎么样mDY1=Y1+10;mDY2=Y2+10
而不是您的如果-否则如果
阻塞?@JanTuroň它将被硬编码,我们不希望这样,因为它可以被拖动到不同的位置