https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=93479&s_type=search_name&s_keyword=%EC%96%B4%EC%A8%8B%EB%93%A0&page=1


요거 질문했는데 이번엔 스크립트쪽에서 어케 해야 할지 모르겠다



7cef8174b48069f43fed87e44780756c504d620ea3d4e65306d2a9df0e9a2e248defc91f


이게 움짤로 보일지 모르겠는데 대충 상황이 특정 키를 누르면 그 부분을 때리고 그 방향을 가만히 바라보고 있는 걸 구현해보고 싶어서

rpg게임 캐릭터들이 이런 방식으로 동작하잖아? 그래서 rpg만들기 보면서 따라했는데 아무리 해도 내가 원하는대로 안되길래 내가 맘대로 해봤는데...


    private void Update() {

        if(Input.GetKeyDown(KeyCode.W)) {
            animator.SetFloat("DirY", 1);
            animator.SetBool("Attack", true);
        } else if(Input.GetKeyDown(KeyCode.S)) {
            animator.SetFloat("DirY", -1);
            animator.SetBool("Attack", true);
        } else if(Input.GetKeyDown(KeyCode.A)) {
            animator.SetFloat("DirX", -1);
            animator.SetBool("Attack", true);
        } else if(Input.GetKeyDown(KeyCode.D)) {
            animator.SetFloat("DirX", 1);
            animator.SetBool("Attack", true);
        } else {
        animator.SetFloat("DirX", 0);
        animator.SetFloat("DirY", 0);
        animator.SetBool("Attack", false);
        }

        // animator.SetFloat("DirX", 0);
        // animator.SetFloat("DirY", 0);

        // vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), 0);
        // animator.SetFloat("DirX", vector.x);
        // animator.SetFloat("DirY", vector.y);
        // animator.SetBool("Attack", true);
    }


문제는 내가 아직 C#에 익숙하지 않다는거다 해봐야 자바 기초 조금 할 줄 알아서 대충 머리 써가면서 했는데

이게 Update 안에 넣어서 그 키를 안누르는 순간부터 바로 캐릭터가 자세를 잡아버리고 심지어 그 방향키를 입력했는데도 치는 애니메이션 후에 그 방향 안보고

뒤만 계속본다... 이거 어떤식으로 타개해야하냐 막막함 지금...