
ZEP은 사용자들이 캐릭터를 조작하며 맵에서 상호작용 할 수 있는 가상 공간 플랫폼입니다.
이번 과제를 통해 게임 스타일의 맵과 상호작용을 기반으로 한 창의적인
2D 미니 게임을 제작해봅시다.
1단 나는 저번 개인 과제에서 필수 기능을 다 구현하지 못했다.
그래서 이번에도 목표는 필수 기능 다하기로 정했다.
대부분 강의에서 다 했던 부분들이라 거의 그대로 사용했는데, 이동 부분은
강의 마지막에서 다뤘던 INPUT ASSET을 사용해서 구현했다.
그리고 마우스를 안쓰고 방향키로만으로 플레이어의 이동과 보는 방향을 구현했다.
발생했던 문제
해결
private void Movement(Vector2 direction)
{
if (direction != Vector2.zero)
{
lastDirection = direction;
}
direction = direction * stat.Speed;
rigid.velocity = direction;
}
private void Rotate(Vector2 direction)
{
if (direction == Vector2.zero)
{
direction = lastDirection;
}
bool filpX = direction.x > 0f;
bool filpUp = direction.y > 0f;
bool filpDown = direction.y < 0f;
characterRenderer.sprite = LeftRight;
if (filpX != isFilpX)
{
isFilpX = filpX;
characterRenderer.flipX = isFilpX;
}
if (filpUp)
{
characterRenderer.sprite = Up;
}
if (filpDown)
{
characterRenderer.sprite = Down;
}
}
이 부분도 기존 강의에서 사용했던걸 수정해서 사용했다.
다른 점이 있다면, 기존 코드는 x의 +쪽만 해서 추적했는데
그게 아니고 사방향으로 추적하게 바꿨다.
발생했던 문제
해결
public Transform target;
public float Speed = 5.0f;
private Vector3 offset;
private Vector3 targetPos;
private void Start()
{
if (target == null) return;
offset = transform.position - target.position;
}
private void Update()
{
if (target == null) return;
targetPos = target.position + offset;
transform.position = Vector3.Lerp(transform.position, targetPos, Speed * Time.deltaTime);
}

원하는 대로 잘 구현이 되어서 다행이다.
그래고 플레이어 캐릭터가 애니메이션을 사용하는 방식으로 만든게 아니기 때문에
조금 더 수월했던 것 같다.