Unity 게임개발 입문 2주차

Colarrot·2023년 12월 6일

Unity

목록 보기
7/9

벽돌깨기 게임을 만들면서 패들은 마우스커서를 따라가는것으로 되어있는데
마우스 커서가 밖으로 나가면 패들도 같이 벽을 뚫고 나가는 문제가 있었다.

다음은 문제를 해결하기 위해 게임오브젝트 Paddle에 적용한 코드이다.

public class Playermove : MonoBehaviour
{
    public float cursorSpeed = 9f; // 마우스 커서 속도 조절

    void Start()
    {
        
    }

    void Update()
    {
        
        
			//화면 상의 마우스 좌표(Input.mousePosition)를 월드 좌표로 변환하는 코드
            Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);

            // y 좌표는 그대로 유지, 메인 카메라 안에서만 이동
            mousePosition.y = transform.position.y;
            mousePosition.z = transform.position.z;

            // 메인 카메라의 시야 겅계 가져오기
            float cameraHalfWidth = Camera.main.orthographicSize * Camera.main.aspect;

            // x 좌표를 메인 카메라의 시야 경계로만큼 제한
            mousePosition.x = Mathf.Clamp(mousePosition.x, -cameraHalfWidth, cameraHalfWidth);

            // 마우스 커서 따라가기
            transform.position = Vector3.Lerp(transform.position, mousePosition, Time.deltaTime * cursorSpeed);
    }
    
}

profile
Cola+parrot

0개의 댓글