Страница 1 из 1

Плавное изменение RectTransform.LocalPosition коротиной

СообщениеДобавлено: 03 апр 2017, 23:46
pesiik
Синтаксис:
Используется 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;
        }


как сделать плавное изменение vectorChanges? делал умножением vectorChanges = vectorChanges* 0.9f. Но цикл, естественно становится бесконечным. Я как то делал фейковый лодбар, но там в условии был просто ответ от сервера. А тут как сделать?

Re: Плавное изменение RectTransform.LocalPosition коротиной

СообщениеДобавлено: 04 апр 2017, 06:59
samana
pesiik писал(а):как сделать плавное изменение vectorChanges? делал умножением vectorChanges = vectorChanges* 0.9f. Но цикл, естественно становится бесконечным.

А вы в цикле проверяйте на очень близкое значение, например в итоге должно быть 0, а вы проверьте if (vectorChanges<0.01f).
Ещё есть Lerp.

Re: Плавное изменение RectTransform.LocalPosition коротиной

СообщениеДобавлено: 10 апр 2017, 20:21
djon801
а что обычным счетчиком менять значение не получается? ну и как выше сказанный ответ проверять ифом когда хватит