unity DOtweenPath 无法动态加载路径

unity DOtweenPath 无法动态加载路径

很麻烦呐!
查了半天还真没办法只能静态加载了

静态加载

  public  GameObject Model;
    public static GameObject Models;//模型总
    public  List<GameObject> Projects;
    public static List<GameObject> Projectss;//预制件 白天
    static List<Vector3> V3Z1s = new List<Vector3>();//批量路径
    public List<GameObject> vs = new List<GameObject>();//路径点
    public int a;
    void Awake()
    {
        Models = Model;
        Projectss = Projects;
        for (int i=0; i<1; i++)
        {
            //通过a 分类 
            switch (a)
            {
                case 0:
                    V3Z1s.Add(vs[0].transform.position);
                    V3Z1s.Add(vs[2].transform.position);
                    break;
                case 1:
                    V3Z1s.Add(vs[1].transform.position);
                    V3Z1s.Add(vs[3].transform.position);
                    break;
                case 2:
                    V3Z1s.Add(vs[4].transform.position);
                    V3Z1s.Add(vs[6].transform.position);
                    break;
                case 3:
                    V3Z1s.Add(vs[5].transform.position);
                    V3Z1s.Add(vs[7].transform.position);
                    break;
            }
        }
    }
    [MenuItem("Too/DotweenPathTo")]
    static void PathMove()
    {
        for (int i = 0; i < 10; i++)
        {
            GameObject obj = Instantiate(Projectss[Random.Range(0, 11)]);
            // GameObject obj = Instantiate(Projects[0]);
            obj.transform.position = V3Z1s[0];
            obj.transform.SetParent(Models.transform);
            obj.AddComponent<DOTweenPath>();
            DOTweenPath paths = obj.transform.GetComponent<DOTweenPath>();
            obj.transform.rotation = Quaternion.Euler(0, -90, 0);
            paths.wps = V3Z1s;
            paths.duration = 15;
            paths.easeType = Ease.Linear;
           // paths.lockRotation = AxisConstraint.Y;
            paths.orientType = DG.Tweening.Plugins.Options.OrientType.ToPath;
            paths.loops = -1;
            paths.loopType = LoopType.Restart;
            obj.SetActive(false);
            // paths.DOPlay();
        }
        
    }

方便下次抄 唯一注意的是需要先运行 后关闭 再执行Too/DotweenPathTo !!

新版本有ID属性 需要另外设置 如果不设置会报错

DORestart(true) 重置

如果为TRUE,则从当前位置重新计算补间的起始和结束值。

当在不同的位置生成相同的DOTweenPath时设置为TRUE(比如
使用池化系统时)

http://forum.demigiant.com/index.php?PHPSESSID=ae825763a8ac9d9d979c1d36e6790f6d&action=search2

猜你喜欢

转载自blog.csdn.net/WantFK/article/details/116658900