0

C# デリゲートを使用する Unity3D tween ライブラリはありますか? 私は iTween と LeanTween を使用してきましたが、デリゲートの代わりにメソッド名を文字列の形式で呼び出す必要があるため、非常に醜いコードになります。すべてのカスタム メソッドをスリム ラムダに置き換えたいのですが、これらのライブラリにはそのような機能がありません。

4

2 に答える 2

0

代表者についてはわかりませんが、この少人数のクラスに失望したことはありません

public class Tween  {

    public static float TweenValue (float from,float to,float time)
    {
        if (from != to) 
        {
            if (Mathf.Abs(to-from) > 1.0)
            {
                from = Mathf.Lerp(from, to, time*Time.deltaTime);
            }
            else 
            {
                from = to;
            }       
        }

        return from;
    }

    public static Rect TweenRect (Rect from,Rect to,float time){
        if (from != to) 
        {
            from.x = TweenValue (from.x,to.x,time*Time.deltaTime);
            from.y = TweenValue (from.y,to.y,time*Time.deltaTime);
            from.width = TweenValue (from.width,to.width,time*Time.deltaTime);
            from.height = TweenValue (from.height,to.height,time*Time.deltaTime);
        }
        return from;
    }

    public static Vector3 TweenVector3 (Vector3 from ,Vector3 to,float time)
    {
        if (from != to) 
        {
            if (Mathf.Abs((to-from).magnitude) > 0.2)
            { 
                from = Vector3.Slerp(from, to, time);
            }
            else
            { 
                from = to;
            }
        }

        return from;
    }

    public static Quaternion TweenQuaternion (Quaternion from,Quaternion to,float time)  
    {
        if (from != to) 
        {
            if (Mathf.Abs((to.eulerAngles-from.eulerAngles).magnitude) > 0.2) 
            {
                from = Quaternion.Slerp(from, to, time);
            }
            else 
            {
                from = to;
            }
        }

        return from;
    }   
}
于 2013-10-21T19:10:24.667 に答える
0

LeanTween の新しいバージョンは、文字列名に依存しない onComplete および onUpdate デリゲートを提供します。LeanTween 2.0 のすべての新機能について詳しくは、http://dentedpixel.com/developer-diary/leantween-2-0-faster-type-safe-and-c/ をご覧ください

于 2014-01-03T18:50:35.437 に答える