我想这更像是一道数学题,但如果有人能帮我定义如何编写代码,那就太棒了!
目标是在设定的时间间隔内重复调用函数。但是每秒钟的通话间隔需要计算,这样才能遵循一条轻松的曲线.
所以我想让玩家把一个数字输入到一个变量中,让我们称之为X。
数学不是我的强项,所以如果有人能帮我定义这段代码,我会非常感激的。
谢谢!
发布于 2016-04-07 11:00:32
你可以用AnimationCurve来做这个
public AnimationCurve callPerSecondCurve;
//this is x value on animation curve
public float yourXvar;
void Start(){
yourXvar = Mathf.Clamp(yourXvar, 0f, 10f); //so that you don't go out of curve range
CallerFunction();
}
void CallerFunction(){
float frequency = callPerSecondCurve.Evaluate(yourXvar);
//exit condition
if(frequency < 0.01f)
return;
float waitTime = 1f / callPerSecondCurve.Evaluate(yourXvar);
Invoke("CallerFunction", waitTime);
yourXvar -= waitTime;
Debug.Log("Bam");
//call your target function() HERE
}将动画曲线设置为

基本上,在您在检查器中输入yourXvar并按play之后,CallerFunction()应该以递减的频率被调用。
https://stackoverflow.com/questions/36470988
复制相似问题