0

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

图片

如您所见,字符串的顶部运行正常,现在我的问题是使底部工作,我可以帮忙吗?我用于上部的代码是:

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

1 回答 1

1

看起来问题在于,您需要两个循环,而不是从 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;
}
于 2013-05-15T01:09:32.863 回答