zoukankan      html  css  js  c++  java
  • Itween的代码使用方法

    BB:Itween是真心不好用!

    - 透明度动画

    void Start () {  
            //键值对儿的形式保存iTween所用到的参数    
            Hashtable args = new Hashtable();  
      
            //最终透明度  
            args.Add("alpha", 0);  
            //最终透明度,alpha和amount都是最终透明度,amount优先于alpha.内部实现是仅改变Color.a的值,再调用对应的Color方法.  
            args.Add("amount", 0);  
            //是否包括子对象  
            args.Add("includechildren",true);  
            //当效果是应用在renderer(渲染器)组件上时,此参数确定具体应用到那个以命名颜色值上  
            args.Add("namedcolorvalue", iTween.NamedValueColor._Color);  
              
            //动画的时间    
            args.Add("time", 10f);  
            //延迟执行时间    
            args.Add("delay", 0.1f);  
      
            //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中    
            args.Add("easeType", iTween.EaseType.easeInOutExpo);  
            //三个循环类型 none loop pingPong (一般 循环 来回)       
            //args.Add("loopType", "none");    
            //args.Add("loopType", "loop");      
            args.Add("loopType", iTween.LoopType.pingPong);  
      
            //处理动画中的事件。    
            //开始发生动画时调用AnimationStart方法,5.0表示它的参数    
            args.Add("onstart", "AnimationStart");  
            args.Add("onstartparams", 5.0f);  
            //设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,    
            //那么就得在接收对象的脚本中实现AnimationStart方法。    
            args.Add("onstarttarget", gameObject);  
      
      
            //动画结束时调用,参数和上面类似    
            args.Add("oncomplete", "AnimationEnd");  
            args.Add("oncompleteparams", "end");  
            args.Add("oncompletetarget", gameObject);  
      
            //动画中调用,参数和上面类似    
            args.Add("onupdate", "AnimationUpdate");  
            args.Add("onupdatetarget", gameObject);  
            args.Add("onupdateparams", true);  
      
            iTween.FadeTo(btnBegin, args);  
        }  
          
          
        //动画开始时调用  
        void AnimationStart(float f)  
        {  
            Debug.Log("start :" + f);  
        }  
        //动画结束时调用  
        void AnimationEnd(string f)  
        {  
            Debug.Log("end : " + f);  
      
        }  
        //动画中调用  
        void AnimationUpdate(bool f)  
        {  
            Debug.Log("update :" + f);  
              
        }  
    View Code

    - 移动动画

    void Start () {  
              
            //键值对儿的形式保存iTween所用到的参数  
            Hashtable args = new Hashtable();  
       
            //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中  
            //例如移动的特效,先震动在移动、先后退在移动、先加速在变速、等等  
            args.Add("easeType", iTween.EaseType.easeInOutExpo);  
       
            //移动的速度,  
            //args.Add("speed",10f);  
            //移动的整体时间。如果与speed共存那么优先speed  
            args.Add("time",10f);  
            //这个是处理颜色的。可以看源码的那个枚举。  
            args.Add("NamedValueColor","_SpecColor");  
            //延迟执行时间  
            args.Add("delay", 0.1f);  
              
            //是否让游戏对象始终面朝路径行进的方向,拐弯的地方会自动旋转。  
            args.Add("orienttopath", true);  
            //移动的过程中面朝一个点,当“orienttopath”为true时该参数失效  
            args.Add("looktarget",Vector3.zero);  
            //游戏对象看向“looktarget”的秒数。  
            args.Add("looktime",1.1);  
      
      
            //游戏对象移动的路径可以为Vector3[]或Transform[] 类型。可通过iTweenPath编辑获取路径  
            Vector3[] testPath = { new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(0, 1, 1), new Vector3(1, 1, 1), new Vector3(1, 5, 1) };  
            args.Add("path", testPath);  
            //是否移动到路径的起始位置(false:游戏对象立即处于路径的起始点,true:游戏对象将从原是位置移动到路径的起始点)  
            args.Add("movetopath", false);  
      
            //当包含“path”参数且“orienttopath”为true时,该值用于计算“looktarget”的值,表示游戏物体看着前方点的位置,(百分比,默认0.05)  
            args.Add("lookahead",0.01);  
      
            //限制仅在指定的轴上旋转  
            args.Add("axis", "x");  
            //是否使用局部坐标(默认为false)  
            args.Add("islocal", false);  
      
       
            //三个循环类型 none loop pingPong (一般 循环 来回)    
            //args.Add("loopType", "none");  
            //args.Add("loopType", "loop");   
            args.Add("loopType", iTween.LoopType.pingPong);  
       
            //处理移动过程中的事件。  
            //开始发生移动时调用AnimationStart方法,5.0表示它的参数  
            args.Add("onstart", "AnimationStart");  
            args.Add("onstartparams", 5.0f);  
            //设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,  
            //那么就得在接收对象的脚本中实现AnimationStart方法。  
            args.Add("onstarttarget", gameObject);  
       
      
            //移动结束时调用,参数和上面类似  
            args.Add("oncomplete", "AnimationEnd");  
            args.Add("oncompleteparams", "end");  
            args.Add("oncompletetarget", gameObject);  
       
            //移动中调用,参数和上面类似  
            args.Add("onupdate", "AnimationUpdate");  
            args.Add("onupdatetarget", gameObject);  
            args.Add("onupdateparams", true);  
       
            // x y z 标示移动的位置。  
            args.Add("x",-5);  
            args.Add("y",1);  
            args.Add("z",1);  
            //当然也可以写Vector3  
            //args.Add("position",Vectoe3.zero);  
            //最终让改对象开始移动  
            iTween.MoveTo(btnBegin, args);    
        }  
        //对象移动中调用  
        void AnimationUpdate(bool f)  
        {  
            Debug.Log("update :" + f);  
        }  
        //对象开始移动时调用  
        void AnimationStart(float f)  
        {  
            Debug.Log("start :" + f);  
        }  
        //对象移动时调用  
        void AnimationEnd(string f)  
        {  
            Debug.Log("end : " + f);  
        }  
    View Code

    - 缩放动画

    void Start () {  
             
      
           //键值对儿的形式保存iTween所用到的参数  
           Hashtable args = new Hashtable();  
      
           //放大的倍数  
           args.Add("scale", new Vector3(1, 5, 1));  
           //args.Add("scale", msgNotContinue.transform);  
           // x y z 标示放大的倍数  
           args.Add("x", 5);  
           args.Add("y", 1);  
           args.Add("z", 1);  
      
           //动画的速度  
           //args.Add("speed",10f);  
           //动画的时间  
           args.Add("time", 10f);  
           //延迟执行时间  
           args.Add("delay", 0.1f);  
      
           //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中  
           args.Add("easeType", iTween.EaseType.easeInOutExpo);  
           //三个循环类型 none loop pingPong (一般 循环 来回)     
           //args.Add("loopType", "none");  
           //args.Add("loopType", "loop");    
           args.Add("loopType", iTween.LoopType.pingPong);  
      
           //处理移动过程中的事件。  
           //开始发生动画时调用AnimationStart方法,5.0表示它的参数  
           args.Add("onstart", "AnimationStart");  
           args.Add("onstartparams", 5.0f);  
           //设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,  
           //那么就得在接收对象的脚本中实现AnimationStart方法。  
           args.Add("onstarttarget", gameObject);  
      
      
           //动画结束时调用,参数和上面类似  
           args.Add("oncomplete", "AnimationEnd");  
           args.Add("oncompleteparams", "end");  
           args.Add("oncompletetarget", gameObject);  
      
           //动画中调用,参数和上面类似  
           args.Add("onupdate", "AnimationUpdate");  
           args.Add("onupdatetarget", gameObject);  
           args.Add("onupdateparams", true);  
      
           iTween.ScaleTo(btnBegin, args);  
    }  
         
         
       //动画开始时调用  
       void AnimationStart(float f)  
       {  
           Debug.Log("start :" + f);  
       }  
       //动画结束时调用  
       void AnimationEnd(string f)  
       {  
           Debug.Log("end : " + f);  
       }  
       //动画中调用  
       void AnimationUpdate(bool f)  
       {  
           Debug.Log("update :" + f);  
       }  
    View Code

    - 值变化动画

    void Start () {  
           //键值对儿的形式保存iTween所用到的参数  
           Hashtable args = new Hashtable();  
           //插值的起点和终点,数据类型可为 float、double、Vector3、Vector2、Color、Rect  
           args.Add("from", 0.0f);  
           args.Add("to", 1.0f);  
      
           //插值变化的速度,  
           //args.Add("speed",10f);  
           //插值变化的整体时间。如果与speed共存那么优先speed  
           args.Add("time", 10f);  
           //延迟执行时间  
           args.Add("delay", 0.1f);  
           //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中  
           args.Add("easeType", iTween.EaseType.easeInOutExpo);  
           //三个循环类型 none loop pingPong (一般 循环 来回)     
           //args.Add("loopType", "none");  
           //args.Add("loopType", "loop");    
           args.Add("loopType", iTween.LoopType.pingPong);  
      
      
           //处理移动过程中的事件。  
           //开始发生变化时调用AnimationStart方法,5.0表示它的参数  
           args.Add("onstart", "AnimationStart");  
           args.Add("onstartparams", 5.0f);  
           //设置接受方法的对象,默认是自身接受,这里也可以改成别的对象接受,  
           //那么就得在接收对象的脚本中实现AnimationStart方法。  
           args.Add("onstarttarget", gameObject);  
      
           //变化结束时调用,参数和上面类似  
           args.Add("oncomplete", "AnimationEnd");  
           args.Add("oncompleteparams", "end");  
           args.Add("oncompletetarget", gameObject);  
      
           //变化过程中(ValueTo必写参数)  
           args.Add("onupdate", "AnimationUpdata");  
           args.Add("onupdatetarget", gameObject);  
      
           //ValueTo不可用  
           args.Add("onupdateparams", btnBegin);  
      
           iTween.ValueTo(btnBegin, args);  
    }  
       public void AnimationUpdata(object obj)  
       {  
           float per = (float)obj;  
           //改变按钮透明度  
           btnBegin.transform.FindChild("Background").GetComponent<UISprite>().alpha = per;  
       }  
         
       //动画开始时调用  
       void AnimationStart(float f)  
       {  
           Debug.Log("start :" + f);  
       }  
       //动画结束时调用  
       void AnimationEnd(string f)  
       {  
           Debug.Log("end : " + f);  
       }  
    View Code

    这里附上一个协程的值变化方式

  • 相关阅读:
    安卓读取SD卡的容量
    Eclipse常用快捷键
    安卓实现记住密码登陆功能
    eclipse DDMS导出文件失败--android Failed to push the item
    LinearLayout线性布局搭配权重属性的使用
    unity 天空盒有缝隙的解决方案
    unity gitignore
    unity 5.6.1 Oculus手柄输入问题
    两个长整形相除等于零
    Unity 获得视频的某一帧,生成缩略图
  • 原文地址:https://www.cnblogs.com/jwv5/p/9076723.html
Copyright © 2011-2022 走看看