更新中从起点到终点的距离百分比
Distance from start point to end point in percentage in update
float curpos = player.transform.position.magnitude;
float targetpos=GameObject.Find ("target").transform.position.magnitude;
float percentDist = (curCarpos / targetpos) * 100;
我想做的是计算从当前点一直移动到终点的百分比,从零开始,一旦到达它应该是 100。
由于某种原因,它从 14% 开始下降到 0%,然后从 0%-99% 开始下降。
我认为你应该得到你的起始位置才能得到所走路径的百分比。
float percentDist = ((curCarpos - startingPos) / (targetpos - startingPos)) * 100;
就在您开始计算所走路程的百分比时,获取您的起始位置的浮点数,此后根本不要更新此变量。
你做错了。 Vectors magnitude 在这种情况下是无用的。你需要这样的东西:
在所有移动之前调用它。
float startDistance = Vector3.Distance(player.transform.position, target.transform.position);
在移动过程中也是如此。
float currentDistance = Vector3.Distance(player.transform.position, target.transform.position);
float percentage =(currentDistance / startDistance) * 100f;
float curpos = player.transform.position.magnitude;
float targetpos=GameObject.Find ("target").transform.position.magnitude;
float percentDist = (curCarpos / targetpos) * 100;
我想做的是计算从当前点一直移动到终点的百分比,从零开始,一旦到达它应该是 100。
由于某种原因,它从 14% 开始下降到 0%,然后从 0%-99% 开始下降。
我认为你应该得到你的起始位置才能得到所走路径的百分比。
float percentDist = ((curCarpos - startingPos) / (targetpos - startingPos)) * 100;
就在您开始计算所走路程的百分比时,获取您的起始位置的浮点数,此后根本不要更新此变量。
你做错了。 Vectors magnitude 在这种情况下是无用的。你需要这样的东西:
在所有移动之前调用它。
float startDistance = Vector3.Distance(player.transform.position, target.transform.position);
在移动过程中也是如此。
float currentDistance = Vector3.Distance(player.transform.position, target.transform.position);
float percentage =(currentDistance / startDistance) * 100f;