为 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
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM