Untitled
unknown
plain_text
a year ago
1.5 kB
2
Indexable
Never
\\ KAMERA public Transform target; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { transform.position = new Vector3(target.transform.position.x, target.transform.position.y, transform.position.z); } \\ PLAYER public float moveSpeed; private bool isMoving; private Vector2 input; private Animator anim; private void Awake() { anim = GetComponent<Animator>(); } void Update() { if (!isMoving) { input.x = Input.GetAxisRaw("Horizontal"); input.y = Input.GetAxisRaw("Vertical"); if (input.x != 0) input.y = 0; if(input != Vector2.zero) { anim.SetFloat("MoveX", input.x); anim.SetFloat("MoveY", input.y); var targetPos = transform.position; targetPos.x += input.x; targetPos.y += input.y; StartCoroutine(Move(targetPos)); } } anim.SetBool("IsMoving", isMoving); } IEnumerator Move(Vector3 targetPos) { isMoving = true; while((targetPos - transform.position).sqrMagnitude > Mathf.Epsilon) { transform.position = Vector3.MoveTowards(transform.position, targetPos, moveSpeed * Time.deltaTime); yield return null; } transform.position = targetPos; isMoving = false; }