OT源代码的分析,OrtHello 迟早攻破你 (十二)第7个例子,ortHello的动作类OTTween(未完)

-,-其实首先说明一点OTTween我觉得不够完美,甚至比不上iTween -。-

不过既然是自带的   速度还是可以的


特别注明一点,OT的动作是通过  点号 .  连接起来的



下面来看看代码:

public class CStar7_1 : MonoBehaviour
{
    OTTween tween;
    void OnMouseEnter()
    {
        if (tween!=null && tween.isRunning)
            tween.Stop();
        tween = new OTTween(GetComponent<OTSprite>(), 1f, OTEasing.ElasticOut).
            Tween("size", new Vector2(80, 80)).
            Tween("tintColor", new Color(0.5f + Random.value * 0.5f, 0.5f + Random.value * 0.5f, 0.5f + Random.value * 0.5f), OTEasing.StrongOut);
    }
    void OnMouseExit()
    {
        if (tween!=null && tween.isRunning)
            tween.Stop();
        tween = new OTTween(GetComponent<OTSprite>(), 1.5f, OTEasing.ElasticOut).
            Tween("size", new Vector2(50, 50)).
            Tween("tintColor", new Color(0.5f,0.5f,0.5f), OTEasing.StrongIn);
    }

}

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、


public class CStar7_2 : MonoBehaviour
{

    OTTween runningTween = null;
    OTTween tween = null;
    void OnMouseEnter()
    {
        if ((tween!=null && tween.isRunning) || runningTween != null)
            return;

        tween = new OTTween(GetComponent<OTSprite>(), 2f, OTEasing.Linear).
            Tween("size", new Vector2(250, 250)).
            Tween("alpha", 1 , 0 , OTEasing.Linear);

        tween.onTweenFinish = TweenFinish;
        new OTTween(GetComponent<OTSprite>(), 1f, OTEasing.Linear).
            Tween("tintColor", new Color(0.5f + Random.value * 0.5f, 0.5f + Random.value * 0.5f, 0.5f + Random.value * 0.5f), OTEasing.StrongOut);
    }

    void TweenFinish(OTTween tween)
    {
        if (tween != runningTween)
        {
            runningTween = new OTTween(GetComponent<OTSprite>(), .5f, OTEasing.Linear).
                Tween("size", new Vector2(1, 1), new Vector2(50, 50)).
                Tween("alpha", 0, 1, OTEasing.Linear);
            new OTTween(GetComponent<OTSprite>(), .1f, OTEasing.Linear).
                Tween("tintColor", new Color(0.3f, 0.3f, 0.3f), OTEasing.StrongOut);
            runningTween.onTweenFinish = TweenFinish;
        }
        else
            runningTween = null;        
    }

}


。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

public class CExample7 : MonoBehaviour
{


    int mode = 0;
    float time = 0;
    int easeIdx = 0;

    OTEase[] easings = new OTEase[]
    {
        OTEasing.ElasticOut,
        OTEasing.BounceOut,
        OTEasing.StrongOut,
        OTEasing.StrongIn,
        OTEasing.BackOut,
        OTEasing.BackIn,
        OTEasing.SineOut,
        OTEasing.Linear,
    };

    // Update is called once per frame
    void Update () {
        if (time == 0)
            GameObject.Find("text-21").GetComponent<TextMesh>().text = "Next easing will be : " + easings[easeIdx].GetType().ToString();
        time += Time.deltaTime;
        if (time > 3)
        {
            MoveStars();
            time = 0;
        }
    }

    void MoveStars()
    {
        int idx = 1;
        GameObject g = GameObject.Find("stars-"+idx);
        while (g!=null)
        {
            new OTTween(g.transform,1.5f,easings[easeIdx]).TweenAdd("position",new Vector3((mode==0)?400:-400,0,0));
            g = GameObject.Find("stars-" + (++idx));
        }
        mode = 1 - mode;
        if (mode == 0)
        {
            easeIdx++;
            if (easeIdx == easings.Length)
                easeIdx = 0;
        }
    }

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值