728x90

원하는 기능 : 애니메이션이 끝나고 n초 후에 다시 재생.
해결: 해결 방법은 많겠지만, 내가 선택한건 애니메이션 이벤트와 커스텀 함수를 이용했다.

  1. 애니메이션을 클릭해서 인스펙터창에 나온 Loop Time을 해제한다.

  1. 애니메이션이 끝나면 들어올 스크립트를 생성한다.
    // 변수 생성
    Animator anim;


    void Awake()
    {
        // 스크립트가 붙어있는 오브젝트에서 Animator 컴포넌트 가져오기.
        anim = GetComponent<Animator>();
    }

    // IEnumerator: 코루틴만의 반환형 인터페이스. (앞에 I가 붙는 것은 인터페이스라고 한다)
    // yield : 코루틴의 반환 키워드
    IEnumerator EndAnim(){
        // new Wait을 기입하고 자동완성 부분을 보면 유니티에서 제공하는 함수가 몇가지 있다. 
        // 그 중에 나는 5초 딜레이가 필요하기 때문에 아래와 같이 작성한다.
        yield return new WaitForSeconds(5f);

        // loop 를 걸어두지 않아서 멈추어있는 애니메이션을 다시 플레이.
        // DeadEnemy 0: 재생할 애니메이션 클립 이름
        // -1: 모든 레이어를 대상
        // 0f: 애니메이션의 시작 시간
        anim.Play("DeadEnemy 0", -1, 0f);
    }

 

  1. 애니메이션 오브젝트에 스크립트 연결
  2. 애니메이션 끝난 부분에, 이벤트를 걸어준다.
    ㄱ. 마우스를 드래그해서 하얀색 세로줄을 이벤트 걸어줄 위치해 놓는다.
    ㄴ. 왼쪽 북마크 모양을 눌러 이벤트를 걸어준다.
    ㄷ. 생성된 북마크(오른쪽 빨간 네모상자)를 클릭하면 오른쪽에 인스펙터창이 열린다.

 

  1. 내가 만든 함수를 선택한다. ( 주의할 점은 오브젝트에 위에 만든 스크립트를 넣어와야 EndAnim이 보인다.)

 

 

 


드디어 게임이 나왔드아.... ㅜ
유달리 힘들었던 게임이다. 애정이 들어가서 그른가...
누군가 이 글을 본다면 한 번 씩 해보시길 바람...아니 부탁함다.
아득바득 살고있는 중생이어라.. 5점 리뷰도 달아주심 정말 감사합니닷...

진술로만 해결해야하는 추리게임!
난이도는 높지만 도전해 보세요!
갑자기 홍보말투 ㅋㅋㅋㅋ

"초동수사 - 증언/증거 추리게임"

구글플레이스토어
https://play.google.com/store/apps/details?id=com.loomiloomi.crimescene&pcampaignid=web_share

앱스토어
https://apps.apple.com/us/app/%EC%B4%88%EB%8F%99%EC%88%98%EC%82%AC-%EC%A6%9D%EC%96%B8-%EC%A6%9D%EA%B1%B0-%EC%B6%94%EB%A6%AC%EA%B2%8C%EC%9E%84/id6499072416

728x90
반응형

+ Recent posts