TIL 250514

강성원·2025년 5월 28일

TIL 경험하고 배운 것

목록 보기
77/84
post-thumbnail

컨베이어벨트


스프라이트

  • 직접 그림

    초간단 컨베이어 벨트

로직

핵심 개념
자신 위에 있는 WorldItem들 전부 본인 로컬x 방향으로 이동시킴

  • 자신이랑 닿는 오브젝트 확인 → transform 리스트에 담기
  • Physics2D.OverlapBoxAll을 사용하여 컨베이어 벨트 위 아이템들 리스트에 추가
private void CheckWorldItem()
{
    // 중심으로부터 지역 충돌?
    worldItems.Clear();
    Collider2D[] hits = Physics2D.OverlapBoxAll(transform.position, new Vector2(1f,0.8f),0f);
    foreach (Collider2D hit in hits)
    {
        WorldItem item = hit.GetComponent<WorldItem>();
        if(null != item)
            worldItems.Add(item);
    }
}
  • 움직임 로직 자체는 WorldItem에서 ConveyorBeltMove로 구현해서 책임을 분리
  • 대신 움직이는 방향과 속도는 전달해준다.
private void MoveWorldItem()
{
    foreach (WorldItem item in worldItems)
    {
        if(!item.alreadyMoved)
            item.ConveyorBeltMove(transform.right, moveSpeed);
    }
}
profile
개발은삼순이발

0개의 댓글