开始:
private void Start()
{
StartCoroutine(moveLines());
}
在Movelines中:
IEnumerator moveLines()
{
for (int i = 0; i < allLines.Count; i++)
{
allLines[i].SetActive(true);
counter = 0;
endPos = allLines[i].GetComponent<EndHolder>().EndVector;
var dist = Vector3.Distance(endPos, startPos);
while (counter < 25)
{
dist = Vector3.Distance(instancesToMove[0].transform.position, endPos);
counter++;
endPos = allLines[i].GetComponent<EndHolder>().EndVector;
startPos = allLines[i].GetComponent<LineRenderer>().GetPosition(0);
instancesToMove[0].transform.position =
Vector3.MoveTowards(startPos, endPos, counter / 25f * speed);
allLines[i].GetComponent<LineRenderer>().SetPosition(1, instancesToMove[0].transform.position);
yield return null;
}
}
}
我有一个全局速度变量,但没有更改线条图的速度。
Alllines是每个gameObject的列表。
instanceStomove也列出了此对象/s在线路上同一时间移动。
,但我想更快地使整个过程。我希望线条绘制和intartance速度更快。如果我现在更改速度变量值,它将根本不会绘制线路。
更改 counter
以计数不同的值,然后将/ 25f
更改为该新值。较小的值=更快的绘制。
您的代码说:"这样做25次,当它达到25时,该行将完成。"这意味着您花了25帧绘制线路。如果您希望它的绘制较慢,则需要更改花费多少帧。
这也使您的速度变量...毫无用处。您可以完全删除它。