线条表现不尽如人意

时间:2013-05-15 00:49:38

标签: c# xna drawing line

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

Image

正如你所看到的,字符串的顶部表现得如此,现在我的麻烦在于使底部工作,我可以对此有任何帮助吗?我在上半部分使用的代码是:

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

1 个答案:

答案 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;
}