首页 > 其他 > 详细

u3d随机精灵显示

时间:2017-11-09 10:25:27      阅读:273      评论:0      收藏:0      [点我收藏+]
 public Transform dogs;
    public List<GameObject> obj_dogs;
    public List<Sprite> spr_dogs;
    public List<GameObject> spr_change;

    // Use this for initialization
    void Start()
    {
        spr_change = new List<GameObject>();
        obj_dogs = new List<GameObject>();
        for (int i = 0; i < 42; i++)
        {
            GameObject dog = Instantiate<GameObject>(Resources.Load<GameObject>("ItemDog"));
            dog.transform.SetParent(dogs);
            dog.GetComponent<Image>().sprite = spr_dogs[UnityEngine.Random.Range(0, spr_dogs.Count)];
            EventTriggerListener.Get(dog).onClick = OnDogClick;
            obj_dogs.Add(dog);
        }
    }

    void OnDogClick(GameObject go)
    {
        List<GameObject> desAni = new List<GameObject>();
        dogs.GetComponent<GridLayoutGroup>().enabled = false;
        spr_change.Add(go);
        if (spr_change.Count < 2) return;
        else
        {
            Sequence seq = DOTween.Sequence();
            seq.Append(spr_change[0].transform.DOLocalMove(spr_change[1].transform.localPosition, 0.5f));
            seq.Join(spr_change[1].transform.DOLocalMove(spr_change[0].transform.localPosition, 0.5f));
            seq.AppendCallback(() =>
            {
                for (int i = 0; i < 2; i++)
                {
                    GameObject ani = Instantiate<GameObject>(Resources.Load<GameObject>("DestroyAni"));
                    ani.transform.SetParent(dogs);
                    ani.transform.localPosition = spr_change[i].transform.localPosition;
                    ani.transform.localScale = Vector3.one;
                    desAni.Add(ani);
                    Destroy(spr_change[i]);
                }
                spr_change.Clear();
            });
        }
    }

 

u3d随机精灵显示

原文:http://www.cnblogs.com/AsukaLay/p/7807727.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!