-
마우스 이동에 따른 물체 옮기기, PlayerPrefs를 이용한 최고 점수 저장 밑 불러오기Unity/제로부터 구현 2023. 11. 23. 19:48728x90
오늘의 구현
1. 물체를 마우스의 포지션에 따라 이동시키기 + 이동 영역 제한하기
private void Awake() { camera = Camera.main; cameraHeight = camera.orthographicSize; cameraWidth = cameraHeight * camera.aspect; min = new Vector2(-cameraWidth + padding, -cameraHeight + padding); min = new Vector2(cameraWidth - padding, cameraHeight - padding); } void ClampingPosition() { Vector3 mousePosition = camera.ScreenToWorldPoint(Input.mousePosition); float clampX = Mathf.Clamp(mousePosition.x, min.x, max.x); float clampY = Mathf.Clamp(mousePosition.y, min.y, max.y); Vector3 clampingMousePosition = new Vector3(clampX, clampY, 1); transform.position = clampingMousePosition; }
1 . 이동 제한 범위를 설정해 줍니다.
2. 마우스의 포지션을 월드좌표로 변환해 준뒤 클램핑을 해줍니다.
- 마우스 포지션이 위에서 정해준 범위를 넘어가면 정해진 범위값으로 유지 시켜줍니다.
3. 해당 물체에 클램핑한 좌표를 넣어줍니다.
2.점수 저장, 점수 불러오기
PlayerPrefs는 간단한 게임 데이터를 로컬에 저장하고 검색하는 데 사용됩니다. 주로 게임 설정, 사용자 기록, 레벨 진행 등을 저장하고 관리하는 데 활용됩니다.
데이터 저장 : PlayerPrefs.Set자료형(key,value)
데이터 검색 : PlayerPrefs.Get자료형(key)
void SetTotalScore() { if(PlayerPrefs.GetFloat("totalScore") == null || PlayerPrefs.GetFloat("totalScore") < time) { PlayerPrefs.SetFloat("totalScore", time); totalScore.text = time.ToString("N2"); } else { totalScore.text = PlayerPrefs.GetFloat("totalScore").ToString("N2"); } }
728x90'Unity > 제로부터 구현' 카테고리의 다른 글
1인칭 시점 구현하기 + 이동 (0) 2023.11.30 짝 맞추기 카드 만들기, 카드 섞기, 리소스를 사용한 스프라이트 설정 (0) 2023.11.28 3D 플레이어 이동 구현(마우스로 방향전환, 키보드로 방향전환) (1) 2023.11.24 GameManager(싱글톤) + CanvasGroup으로 UI 컨트롤 (1) 2023.11.22 2D 캐릭터 이동 + 카메라 앵글을 이용한 이동 반경 제한 (0) 2023.11.21