관리 메뉴

STIKA-DEV

TIL [43]✏️ 본문

프로그래밍/Unity + C#

TIL [43]✏️

STIKA 2024. 3. 13. 20:00

24.03.13 Wed

 

 

❤️ TIL [43]

Today I Learned


✏️ 작업 내용

✔️ 

✔️ 


✔️ 두둥

 

게임매니저에 프로퍼티붙은 다른 클래스를 받아서

그 클래스에서 게임매니저를 부르고 그 객체에 나를 넘겨줌

굳이 게임매니저에 오브젝트를 받아와서 거기서 getcomponent를 안해도댐

모든 클래스에서 게임매니저를 이용하여 전부 접근가능

왜인지 게임매니저 싱글톤화를 awake에서 하고 다른애들이 게임매니저한테 나를 넘겨줄떄는

start에서 해야함 awake에서 하면 안됨 돈디스트로이때문인가

 

public void Animation(Vector2 direction)
{
    if (direction.x > 0f)
    {
        animator.SetBool("isRight", true);            
        animator.SetBool("isLeft", false);
        animator.SetBool("isUp", false);
        animator.SetBool("isDown", false);
        animator.SetBool("isWalking", true);
    }
    else if (direction.x < 0f)
    {
        animator.SetBool("isRight", false);
        animator.SetBool("isLeft", true);
        animator.SetBool("isUp", false);
        animator.SetBool("isDown", false);
        animator.SetBool("isWalking", true);
    }
    else if (direction.y > 0f)
    {
        animator.SetBool("isRight", false);
        animator.SetBool("isLeft", false);
        animator.SetBool("isUp", true);            
        animator.SetBool("isDown", false);
        animator.SetBool("isWalking", true);
    }
    else if (direction.y < 0f && direction.magnitude > 0f)
    {
        animator.SetBool("isRight", false);
        animator.SetBool("isLeft", false);
        animator.SetBool("isUp", false);
        animator.SetBool("isDown", true);
        animator.SetBool("isWalking", true);
    }
    else
    {
        animator.SetBool("isWalking", false);
    }



    animator.SetBool("isWalking", direction.magnitude > 0f);
        animator.SetFloat("xValue", direction.x);
        animator.SetFloat("yValue", direction.y);




    if (animator.GetFloat("xValue") != direction.x)
    {
        animator.SetBool("isWalking", true);
        animator.SetFloat("xValue", direction.x);
    }
    else if (animator.GetFloat("yValue") != direction.y)
    {
        animator.SetBool("isWalking", true);
        animator.SetFloat("yValue", direction.y);
    }
    else
       animator.SetBool("isWalking", false);

    if (animator.GetFloat("xValue") == direction.x && animator.GetFloat("yValue") == direction.y && animator.GetBool("isWalking") == true)
        animator.SetBool("isWalking", false);
    
}

 

 


📝 오늘의 마무리

 


 

✏️ 스스로 어제보다 한 발 더 나아갔다는 것을 자각하기

✏️ TIL을 쓰기 위해서라도, 오늘 반드시 단 하나라도 배우기

✏️ 꾸준히 기록을 남기는 습관 가지기

'프로그래밍 > Unity + C#' 카테고리의 다른 글

TIL[45]✏️  (0) 2024.03.15
TIL [44]✏️  (0) 2024.03.14
TIL [42]✏️  (0) 2024.03.12
TIL [41]✏️  (0) 2024.03.11
TIL[40]✏️  (0) 2024.03.09