Плавное изменение RectTransform.LocalPosition коротиной
Добавлено: 03 апр 2017, 23:46
Синтаксис:
Используется csharp
IEnumerator ProgressForFloorIndicator()
{
float selectedFloor = Mathf.Abs(divisionOfFloor * (currentFloot - choisesFloor));
Vector3 v3 = lineFloorRectTransform.transform.localPosition;
Debug.Log(lineFloorRectTransform.transform.localPosition.x + " begin");
Vector3 vectorСhanges;
if (choisesFloor >= currentFloot)
{
vectorСhanges = new Vector3(v3.x, v3.y);
while (lineFloorRectTransform.localPosition.x < v3.x + selectedFloor)
{
vectorСhanges = new Vector3(vectorСhanges.x+= 0.01f,vectorСhanges.y);
lineFloorRectTransform.localPosition = vectorСhanges;
}
currentFloot = choisesFloor;
}
else if(choisesFloor<currentFloot)
{
vectorСhanges = new Vector3(v3.x, v3.y);
while (lineFloorRectTransform.localPosition.x > v3.x - selectedFloor)
{
vectorСhanges = new Vector3(vectorСhanges.x -= 0.01f, vectorСhanges.y);
lineFloorRectTransform.localPosition = vectorСhanges;
}
currentFloot = choisesFloor;
}
{
float selectedFloor = Mathf.Abs(divisionOfFloor * (currentFloot - choisesFloor));
Vector3 v3 = lineFloorRectTransform.transform.localPosition;
Debug.Log(lineFloorRectTransform.transform.localPosition.x + " begin");
Vector3 vectorСhanges;
if (choisesFloor >= currentFloot)
{
vectorСhanges = new Vector3(v3.x, v3.y);
while (lineFloorRectTransform.localPosition.x < v3.x + selectedFloor)
{
vectorСhanges = new Vector3(vectorСhanges.x+= 0.01f,vectorСhanges.y);
lineFloorRectTransform.localPosition = vectorСhanges;
}
currentFloot = choisesFloor;
}
else if(choisesFloor<currentFloot)
{
vectorСhanges = new Vector3(v3.x, v3.y);
while (lineFloorRectTransform.localPosition.x > v3.x - selectedFloor)
{
vectorСhanges = new Vector3(vectorСhanges.x -= 0.01f, vectorСhanges.y);
lineFloorRectTransform.localPosition = vectorСhanges;
}
currentFloot = choisesFloor;
}
как сделать плавное изменение vectorChanges? делал умножением vectorChanges = vectorChanges* 0.9f. Но цикл, естественно становится бесконечным. Я как то делал фейковый лодбар, но там в условии был просто ответ от сервера. А тут как сделать?