unity
이동.
by kcj3054
2022. 7. 7.
이동
- 이동을 할 때 는 update문에 써야한다 주기적으로 계속이동을해야하니 아래 코드를 먼저 보자..
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public Grid _grid;
private Define.MoveDir _dir = Define.MoveDir.None;
public float _speed = 2.0f;
private bool _isMoving = false;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
GetDirInput();
if (_isMoving == false)
{
switch (_dir)
{
case Define.MoveDir.Down:
break;
}
}
}
void GetDirInput()
{
if (Input.GetKey(KeyCode.W))
{
transform.position += new Vector3(0, _speed) * Time.deltaTime ;
}
else if (Input.GetKey(KeyCode.S))
{
transform.position += new Vector3(0, -1 * _speed) * Time.deltaTime ;
}
else if (Input.GetKey(KeyCode.A))
{
transform.position += new Vector3(-1 * _speed, 0) * Time.deltaTime ;
}
else if (Input.GetKey(KeyCode.D))
{
transform.position += new Vector3(_speed, 0) * Time.deltaTime ;
}
}
}
- 이동을 할 때 GetDirInput 함수를 통해서 직접 이동하는 것이 아니라, 이동이 가능하다는 상태만 있어야한다, 해당 캐릭터만 움직이는 것이 아니라 해당 캐릭터의 움직임을 다른 캐릭터도 보아야하기에 그렇다.