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
'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 |