unity-达到特定价值(与商店中的资产一起使用)?

时间:2018-07-05 09:59:05

标签: c# unity3d time game-physics lerp

好的,我正在使用商店中的Chronos资产,该资产可以反转/更改时间进度。很好,但是我试图使用滑块允许用户及时控制实际的PLACE(范围从0到180秒,此时游戏结束)。

现在,我使滑块按照这样用完的时间的“百分比”移动:

testSlider.value = gameController.mutableTimePercentage;
    void getTimePercentages()
    {
        overallTimePercentage = Time.time / maxTime;
        mutableTimePercentage = mutableClock.time / maxTime;
    }

我可以像这样在时标之间进行切换(这会在0.1秒内将标度从1变为-1):

mutableClock.LerpTimeScale(-1, 0.1f, true);

但是我不完全了解如何以2倍的正常速度向前或向后(时间刻度= -1)前进,直到mutableClock.time ==用户在滑块上的位置给出的时间。

这是我想用伪代码执行的操作,因为手动设置时间var不起作用-

while(mutableClock.time != newValue)
            {
                if(newValue > mutableClock.time) //forward
                {
                    mutableClock.LerpTimeScale(2, 0.1f, true); //need to ease
                } else { //backward
                    mutableClock.LerpTimeScale(-2, 0.1f, true);
                }
            }

但是上面这个有缺陷,因为我不知道,要前进(以某种时间间隔),我需要正常速度的2倍,可能需要1.5倍左右的速度。

几乎像iOS游戏的“因果关系”。我怎样才能做到这一点?

0 个答案:

没有答案