티스토리 뷰

IT/UNITY(C#)

(C#) UNITY_에니메이션 띄우기

KS짱짱맨 2020. 2. 16. 00:01

오늘 배운것 

1. 애니메이션을 만든다

  - component에 Animator 추가 해서 

  - Ctrl + 6을 누르면

요런게 뜹니다.

 - 처음엔 아무것도 안뜨니, anim파일을 하나만들고

 - Add Property를 통해 위치나 색상을 변화시킬 수 있는 요소 추가

 - 녹화버튼을 누르고 시간이 지남에 따라 속성에변화를 주면, 그것에 따라서 애니메이션이 생성

 

2. 애니매이션을 생성한다

    public GameObject prefTextMoney; // 이건 GameManager 스크립트에 있음
    
    public void ShowEarningMoney()
    {
        GameObject obj = Instantiate(GameManager.gm.prefTextMoney,
            this.gameObject.transform.Find("Canvas"), false); // 이건 왜한건지 모르겠음

        var moneyText = GameManager.gm.prefTextMoney.transform.Find("Text_money").GetComponent<Text>();
        moneyText.text = "+" + (info.totalspec / 2f).ToString();

        Animator anim = obj.GetComponent<Animator>();
        anim.SetTrigger("Start"); // 이것도 굳이 왜 트리거로 만들어 놓은 건지 모르겠음

        Destroy(obj, 1f);
    }

요지는

 - GameObject에 애니메이션이 있는 prefab을 받아둔다

 - 적절한 타이밍에 해당 prefab을 생성한다

 - 그리고 파.괴.한.다. (왜냐면 계속 중복되서 생성되기 때문에)

 

오늘 따라한 코딩에서 궁금한거는

        GameObject obj = Instantiate(GameManager.gm.prefTextMoney,
            this.gameObject.transform.Find("Canvas"), false);
            //위에 있는 이부분 하고
            
        Animator anim = obj.GetComponent<Animator>();
        anim.SetTrigger("Start"); //이부분

궁금한것중 첫번째는 의미를 모르겠고

두번째는 왜 굳이 Trigger를 사용해서 아무것도 없는 상태 > 애니메이션이 설정된 상태로 변환하는 건지 모르겠다

그냥 애니메이션이 설정된 prefeb을 바로 실행하면 될텐데

 

끝.

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
250x250