将dotween库用于Unity:http://dotween.demigiant.com/documentation.php

对C#感到生疏...

有没有一种方法可以指定一个函数内联作为.OnComplete的参数,例如,这样我们就不必在单独的函数中分解一系列动作?

即我想在ObjC中使用称为块的功能,但在C#中使用。

漫不经心的直觉方式:

void myCallback () {
   // do more stuff here
}
void mysequence() {
    transform.DOMoveX(4, 1).OnComplete(myCallback);
}


我想做的是更容易阅读的东西,并将其放置在适当的位置:

void mysequence() {
    transform.DOMoveX(4, 1).OnComplete({
        // do more stuff here
    });
}

最佳答案

C#这样做的方式是使用lambda:

void mysequence() {
    transform.DOMoveX(4, 1).OnComplete(() => {
        // do more stuff here
    });
}


从您链接到的文档中:

// Callback without parameters
transform.DOMoveX(4, 1).OnComplete(myCallback);
// Callback with parameters
transform.DOMoveX(4, 1).OnComplete(()=>myCallback(someParam, someOtherParam));

10-08 16:31