为 iTween 指定特定的回调 : onupdate, oncomplete

问题地址:Specifying a delegate for the value of onupdate in iTween

1、找到 void CallBack

2、修改以下代码:

void CallBack(string callbackType){
    if (tweenArguments.Contains(callbackType) && !tweenArguments.Contains("ischild")) {
        //establish target:
        GameObject target;
        if (tweenArguments.Contains(callbackType+"target")) {
            target=(GameObject)tweenArguments[callbackType+"target"];
        }else{
            target=gameObject;    
        }
        
        //throw an error if a string wasn't passed for callback:
        if (tweenArguments[callbackType].GetType() == typeof(System.String)) {
            target.SendMessage((string)tweenArguments[callbackType],(object)tweenArguments[callbackType+"params"],SendMessageOptions.DontRequireReceiver);
        }else if (tweenArguments[callbackType] is Action) {
            ((Action)tweenArguments[callbackType]).Invoke();
        }else if (tweenArguments[callbackType] is Action<object>) {
            ((Action<object>)tweenArguments[callbackType]).Invoke((object)tweenArguments[callbackType + "params"]);
        }else{
            Debug.LogError("iTween Error: Callback method references must be passed as a String!");
            Destroy (this);
        }
    }
}

3、用法如下:

iTween.MoveTo(gameObject, iTween.Hash(
    "x", x,
    "y", y,
    "time", t,
    "easeType", iTween.EaseType.easeInCubic, 
    "oncomplete", (Action)Landing));
    
void Landing() {
    // TODO
}
原文地址:https://www.cnblogs.com/yili16438/p/3842431.html