2016-01-23 52 views
0
float curpos = player.transform.position.magnitude; 
float targetpos=GameObject.Find ("target").transform.position.magnitude; 
float percentDist = (curCarpos/targetpos) * 100; 

我想要做的是計算從當前點始終移動到終點的百分比,從零開始,一旦達到它應該是100更新中從起點到終點的距離

由於某種原因,它從14%下降到0%,然後從0%-99%開始。

回答

0

你這樣做是錯的。矢量幅度在這種情況下是無用的。你需要這樣的事情:

在全部動作之前調用它。

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; 
0

我認爲你應該得到你的起始位置,以獲得旅行路徑的百分比。

float percentDist = ((curCarpos - startingPos)/(targetpos - startingPos)) * 100; 

只是當你開始計數的旅行方式的比例,讓你的起始位置的浮動,並在所有後不更新這個變量。