C# 如何更改Start例程中绘制线条的速度?
首先:C# 如何更改Start例程中绘制线条的速度?,c#,unity3d,C#,Unity3d,首先: private void Start() { StartCoroutine(moveLines()); } 在移动行中: IEnumerator moveLines() { for (int i = 0; i < allLines.Count; i++) { allLines[i].SetActive(true); counter = 0;
private void Start()
{
StartCoroutine(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;
}
}
}
IEnumerator moveLines()
{
for(int i=0;i
我有一个全局速度变量,但它不会改变线条的速度
allLines是一个列表,每个游戏对象都有一个LineRenderer组件
instancesToMove还列出此对象与线同时移动
但我想让整个过程更快。我希望画线和插入动作更快。如果我现在更改速度变量值,它将根本不会画线。更改
计数器
以计数到另一个值,并将/25f
更改为该新值。值越小=绘制速度越快
你的代码说“做25次,当它达到25次时,线就完成了。”这意味着你花了整整25帧来画线。如果希望绘制速度较慢,则需要更改绘制线条所用的帧数
这也让你的速度变了…没用。您可以完全删除它