목록unity (11)
zyeon's 작심삼일 코딩 공부

WorldToScreenPoint 는 월드 좌표계에 있는 오브젝트의 위치를 화면 좌표계로 변환할 때 사용한다.반대로 ScreenToWorldPoint는 UI 요소의 위치를 월드 좌표계로 변환할 수 있다.러닝 게임을 하다보면 코인을 획득하면 ui로 빨려 들어가는 모습을 흔히 볼 수 있다.나는 맵에서 획득하는 아이템(별)을 캔버스에 있는 이미지로 이동하는걸 구현해보았다. 2D 처럼 보이지만 2.5D 느낌을 원해서 만든 게임이라 사실은 3D 게임이다. (플레이어로 사용하는 캐릭터 이미지는 '가디언 테일즈' 캐릭터로 한 때 재밌게 플레이해서 가져왔다.)처음에는 ScreenToWorldPoint 를 사용해 오브젝트를 화면 상의 위치로 변환한 후 이동시키도록 구현해 보았다.private IEnumerator Mov..

Camera.main을 사용하는데 자꾸 오류가 났다. 카메라의 태그가 MainCamera로 되어있지 않으면 오류가 난다고 했지만 난 잘 설정되어 있었다.Camera 컴포넌트도 잘 가지고 있었고,유니티와 비주얼 스튜디오를 껐다 켜도 해결되지 않았다. Camera mainCamera = GameObject.FindGameObjectWithTag("MainCamera").GetComponent();Vector3 screenPosition = mainCamera.WorldToScreenPoint(transform.position); 그래서 이와같이 초기화를 직접해봤는데도 WorldToScreenPoint()가 존재하지 않는다고 오류가 떴다. 알고보니 문제는 내가 Camera.cs 파일을 가지고있어서 였다.클래..
C#에서 '=>' 연산자는 람다식을 만들 때 사용한다. 람다식Func add = (a, b) => a + b;add(2, 3); // 5 출력Func 델리게이트는 람다식을 저장하고 호출하는데 사용된다.제네릭 타입을 사용해 매개변수와 반환 타입을 정의한다.Func에서 앞에 두 int는 입력 매개변수이고, 세 번 째 int는 반환값을 나타낸다. 람다를 이용한 LINQ 쿼리 사용int[] numbers = { 1, 2, 3 };var squaredNumbers = numbers.Select(x => x * x);Console.WriteLine(string.Join(", ", squaredNumbers) // 1, 4, 9 출력우선 LINQ 쿼리는 SQL과 유사한 방식으로 데이터를 관리해주는 기능이라고 한다.S..