Jon*_*nny 1 c# unity-game-engine objective-c-blocks dotween
使用Unity的dotween库:http://dotween.demigiant.com/documentation.php
并在C#上生锈...
有没有办法将函数内联指定为.OnComplete的参数,以便我们不必在单独的函数中切断一系列动作?
即我想在ObjC中使用称为块的功能,但在C#中.
啰嗦一种不直观的方式:
void myCallback () {
// do more stuff here
}
void mysequence() {
transform.DOMoveX(4, 1).OnComplete(myCallback);
}
Run Code Online (Sandbox Code Playgroud)
我想做的更容易阅读和保持原则:
void mysequence() {
transform.DOMoveX(4, 1).OnComplete({
// do more stuff here
});
}
Run Code Online (Sandbox Code Playgroud)
C#的方式是使用lambdas:
void mysequence() {
transform.DOMoveX(4, 1).OnComplete(() => {
// do more stuff here
});
}
Run Code Online (Sandbox Code Playgroud)
从您链接到的文档:
// Callback without parameters
transform.DOMoveX(4, 1).OnComplete(myCallback);
// Callback with parameters
transform.DOMoveX(4, 1).OnComplete(()=>myCallback(someParam, someOtherParam));
Run Code Online (Sandbox Code Playgroud)
您正在寻找C#语句lambda.
void mysequence() {
transform.DOMoveX(4, 1).OnComplete(() => {
// do more stuff here
});
}
Run Code Online (Sandbox Code Playgroud)