iTween基础之Shake(摆动)

发表于2018-10-08
评论0 3.2k浏览
一、基础介绍

ShakePosition根据提供的amount衰减其值随机摇动游戏物体的位置,其晃动大小和方向由提供的amount决定。

ShakeRotation:根据提供的amount衰减其值随机摆动旋转游戏物体的角度,其转动角度就是X,Y,Z的值的大小。

ShakeScale根据提供的amount衰减其值随机摆动改变游戏物体的大小,其大小比例变化方向和大小由提供的Vector3决定。

二、基础属性

基础属性比较简单直接上代码

1、ShakePosition
void Start () {
        //键值对儿的形式保存iTween所用到的参数
        Hashtable args = new Hashtable();
        //摇摆的幅度
        //args.Add("amount", new Vector3(5, 5, 5));
        //args.Add("x", 20);
        args.Add("y",100);
        //args.Add("z", 2);
        //是世界坐标系还是局部坐标系
        args.Add("islocal", true);
        //游戏对象是否将面向其方向
        args.Add("orienttopath", true);
        //面朝的对象
        //args.Add("looktarget", new Vector3(1, 1, 1));
        //args.Add("looktime", 5.0f);
        //动画的整体时间。如果与speed共存那么优先speed
        args.Add("time", 1f);
        //延迟执行时间
        //args.Add("delay", 0.1f);
        //三个循环类型 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.ShakePosition(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);
    }

2、ShakeRotation
void Start () {
        //键值对儿的形式保存iTween所用到的参数
        Hashtable args = new Hashtable();
        //摇摆的幅度
        args.Add("amount", new Vector3(20, 100,0));
        //args.Add("x", 20);
        //args.Add("y",100);
        //args.Add("z", 2);
        //是世界坐标系还是局部坐标系
        args.Add("space", Space.Self);
        //动画的整体时间。如果与speed共存那么优先speed
        args.Add("time", 1f);
        //延迟执行时间
        //args.Add("delay", 0.1f);
        //三个循环类型 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.ShakeRotation(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);
    }

3、ShakeScale
void Start () {
        //键值对儿的形式保存iTween所用到的参数
        Hashtable args = new Hashtable();
        //摇摆的幅度
        args.Add("amount", new Vector3(2,0,0));
        //args.Add("x", 20);
        //args.Add("y",100);
        //args.Add("z", 2);
        //动画的整体时间。如果与speed共存那么优先speed
        args.Add("time", 1f);
        //延迟执行时间
        //args.Add("delay", 0.1f);
        //三个循环类型 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.ShakeScale(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);
    }

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: