C# 线路表现不正常

C# 线路表现不正常,c#,xna,drawing,line,C#,Xna,Drawing,Line,我正在制作一个小程序来模拟一段线,我想要它,这样我可以移动线的中间部分,其他部分也随之移动,我用线段制作了线。这是它现在的样子 正如您所看到的,字符串的顶部按其应有的方式运行,现在我的问题是如何使底部工作,我能得到任何帮助吗?我在上面部分使用的代码是: for (int i = 0; i < segmentsCount - 1; i++) { stringLines[i].lineEndPos = stringLines[

我正在制作一个小程序来模拟一段线,我想要它,这样我可以移动线的中间部分,其他部分也随之移动,我用线段制作了线。这是它现在的样子

正如您所看到的,字符串的顶部按其应有的方式运行,现在我的问题是如何使底部工作,我能得到任何帮助吗?我在上面部分使用的代码是:

            for (int i = 0; i < segmentsCount - 1; i++) 
        {
            stringLines[i].lineEndPos = stringLines[i + 1].lineStartPos;
            stringLines[i].startSpeedX = stringLines[i + 1].startSpeedX / 1.1f;
        }
for(int i=0;i
问题似乎在于,不是从0到segmentsCount-1的单个循环,而是需要两个循环,每个循环计算远离用户握住绳索点的位置。也许是这样的:

for (int i = 0; i < segmentsHeld - 1; i++) 
{
    stringLines[i].lineEndPos = stringLines[i + 1].lineStartPos;
    stringLines[i].startSpeedX = stringLines[i + 1].startSpeedX / 1.1f;
}

for (int i = segmentCount-1; i > segmentHeld; i--) 
{
    stringLines[i].lineEndPos = stringLines[i - 1].lineStartPos;
    stringLines[i].startSpeedX = stringLines[i - 1].startSpeedX / 1.1f;
}
for(int i=0;isegmenthold;i--)
{
stringLines[i].lineEndPos=stringLines[i-1].lineStartPos;
stringLines[i].startSpeedX=stringLines[i-1].startSpeedX/1.1f;
}

如果上半部分有效,但下半部分无效,那么我们也希望看到下半部分的代码。这里的代码似乎不完整。您在哪里使用startSpeedX?你到底画了什么?最后,png没有为我加载。@redtuna我更新了帖子,现在应该显示图片了,startSpeedX只是增加到绳子的位置,目前底部没有代码,因为我认为这可以完全解决问题,第一行基本上可以使所有的线保持在一起,第二条线使顶部随着线段移动。