728x90
4가지 방법 중에 send message 방법이 간단하고 좋은 것 같아서 그 방식으로 해보았다!
WarriorController
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class WarriorController : MonoBehaviour
{
private Animator anim;
private new Transform transform;
private Vector3 moveDir;
private void Start()
{
this.anim = this.GetComponent<Animator>();
this.transform = this.GetComponent<Transform>();
}
private void Update()
{
if(moveDir != Vector3.zero)
{
//진행방향으로 회전
this.transform.rotation = Quaternion.LookRotation(moveDir);
//전진 방향으로 이동
this.transform.Translate(Vector3.forward * Time.deltaTime * 4.0f);
}
else
{
this.anim.SetInteger("Move", 0);
}
}
//이동
private void OnMove(InputValue value)
{
Vector2 dir = value.Get<Vector2>();
//Debug.Log(dir);
//2차원 좌표를 3차원으로 변환
this.moveDir = new Vector3(dir.x, 0, dir.y);
//애니메이션
this.anim.SetInteger("Move",1);
Debug.LogFormat("moveDir : {0}", moveDir);
}
//공격
private void OnAttack()
{
this.anim.SetTrigger("Attack");
Debug.Log("Attack");
}
}
'KDT > 유니티 심화' 카테고리의 다른 글
23/09/04 LearnUGUI 버튼 (0) | 2023.09.04 |
---|---|
23/09/03 [주말] HeroShooter 총알 발사 (1) | 2023.09.03 |
23/08/30 HeroShooter 타이틀 (비동기 씬 전환) (0) | 2023.08.30 |
23/08/29 TestAreaMask (0) | 2023.08.29 |
23/08/27 [주말과제] HeroShooter Stage1 미완 (0) | 2023.08.27 |