我正在制作一个小程序来模拟一些字符串,我希望它可以移动字符串的中间部分,其他部分随之移动,我用线段制作了字符串。这是现在的样子。
正如你所看到的,字符串的顶部表现得如此,现在我的麻烦在于使底部工作,我可以对此有任何帮助吗?我在上半部分使用的代码是:
for (int i = 0; i < segmentsCount - 1; i++)
{
stringLines[i].lineEndPos = stringLines[i + 1].lineStartPos;
stringLines[i].startSpeedX = stringLines[i + 1].startSpeedX / 1.1f;
}
答案 0 :(得分: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;
}