• itween使用案例


    1. 控制小球的移动,以及参数的设定,脚本挂载在需要移动的物体上

    using UnityEngine;
    using System.Collections;

    public class ItweenMoveCntrl : MonoBehaviour
    {

        void Start()
        {

            //以键值对的形式保存iTween所用到的参数
            Hashtable args = new Hashtable();

            //这里是设置类型,iTween的类型又很多种,在源码中的枚举EaseType中
            //例如移动的特效,先震动在移动、先后退在移动、先加速在变速、等等
            args.Add("easeType", iTween.EaseType.easeInOutExpo);

            //移动的速度,
            args.Add("speed", 10f);
            //移动的整体时间。如果与speed共存那么优先speed
            args.Add("time", 1f);
            //这个是处理颜色的。可以看源码的那个枚举。
            args.Add("NamedValueColor", "_SpecColor");
            //延迟执行时间
            args.Add("delay", 0.1f);
            //移动的过程中面朝一个点
            args.Add("looktarget", Vector3.zero);

            //三个循环类型 none loop pingPong (一般 循环 来回) 
            //args.Add("loopType", "none");
            //args.Add("loopType", "loop"); 
            args.Add("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", 5);
            args.Add("z", 1);

            //当然也可以写Vector3
            //args.Add("position",Vectoe3.zero);

            //最终让改对象开始移动
            iTween.MoveTo(gameObject, 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);
        }

    }

    2.自动寻路的,其实就是按照一些制定的点移动物体,脚本挂载在需要移动的物体上

    using UnityEngine;
    using System.Collections;
     
    public class path : MonoBehaviour {
     
     //路径寻路中的所有点
     public Transform [] paths;
     
     void Start ()
     {
      Hashtable args = new Hashtable();
         //设置路径的点
      args.Add("path",paths);
      //设置类型为线性,线性效果会好一些。
      args.Add("easeType", iTween.EaseType.linear);
      //设置寻路的速度
      args.Add("speed",10f);
      //是否先从原始位置走到路径中第一个点的位置
      args.Add("movetopath",true);
      //是否让模型始终面朝当面目标的方向,拐弯的地方会自动旋转模型
      //如果你发现你的模型在寻路的时候始终都是一个方向那么一定要打开这个
      args.Add("orienttopath",true);
     
         //让模型开始寻路 
      iTween.MoveTo(gameObject,args);
     }
     
     void OnDrawGizmos()
     {
      //在scene视图中绘制出路径与线
      iTween.DrawLine(paths,Color.yellow);
     
      iTween.DrawPath(paths,Color.red);
     
     }
     
    }

  • 相关阅读:
    Logback的配置说明
    BAT批处理修改MSDOS窗口标题、大小、字体及背景颜色
    Java修饰符public,private,protected及默认的区别
    Class loading problem regarding ear's lib directory
    MySQL开发规范
    学习如何用自己的 appender 来扩展 log4j 框架
    指令重排、内存屏障概念解析
    高性能线程间队列 DISRUPTOR 简介
    Log4j2的性能为什么这么好?
    java多线程
  • 原文地址:https://www.cnblogs.com/xwwFrank/p/4434039.html
Copyright © 2020-2023  润新知