Unity/제로부터 구현
마우스 이동에 따른 물체 옮기기, PlayerPrefs를 이용한 최고 점수 저장 밑 불러오기
휘게31
2023. 11. 23. 19:48
728x90
오늘의 구현
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