전체 글199 Game Object 파괴시 null 처리 MonsterController는 player 인스턴스의 주소를 들고 있는데 그 인스턴스를 파괴했을 때, CameraController는 매 프레임마다 heap에 있는 player 인스턴스를 접근해서 사용중인데 갑자기 그 인스턴스가 메모리에서 날아가버리면 null을 접근하고 있으므로 런타임 에러가 발생한다. GameObject player; // player 변수는 x001 주소를 가리키고 있음 transform.position = player.transform.position + delta; // player.transform.position -> x001 주소에 아무것도 없음 heap 객체에 있는 인스턴스가 메모리에서 해제됬다고 해서 그 인스턴스를 가리키고 있는 참조값은 변하지 않는다. 그런데 왜? .. 2024. 3. 15. 백준 15656 #include #include using namespace std; int N, M; int temp[7]; // 출력용도 int arr[7]; // N개의 값 저장 bool state[7][7]; // N개의 상태(중복 허용) void func(int k) { if (k == M) { for (int i = 0; i M; for (int i = 0; i > arr[i]; } sort(arr, arr + N); // 수열은 사전순 정렬이므로 오름차순 정렬 func(0); return 0; } 2024. 3. 15. 백준 15655 코드 1) #include #include using namespace std; int N, M; bool state[10000]; // N개의 숫자에 대한 사용여부 상태 int arr[10000]; // 상태에 대한 데이터 배열이 {1,2,3} 순으로 정렬되어 있으면 상태배열에 [0],[1],[2] 각각 매칭됨 int temp[8]; // 재귀함수를 돌면서 모든 경우의 수를 체크해 출력하기 위한 용도 void func(int k) { if (k == M) { for (int i = 0; i > M; for (int i = 0; i > arr[i]; } sort(arr, arr + N); // 오름차순 정렬 func(0); return 0; .. 2024. 3. 11. 백준 15654 #include #include using namespace std; int N, M; bool state[10000]; // 사용여부 상태 int arr[10000]; // 상태에 대한 데이터 배열이 {1,2,3} 순으로 정렬되어 있으면 상태배열에 [0],[1],[2] 각각 매칭됨 int temp[10000]; // 재귀함수를 돌면서 모든 경우의 수를 체크해 출력하기 위한 용도 void func(int k) { if (k == M) { for (int i = 0; i M; for (int i = 0; i > arr[i]; } sort(arr, arr + N); // 오름차순 정렬 func(0); return 0; } 2024. 3. 10. 네비게이션 시스템 네비게이션 시스템이란? 해당 오브젝트를 지정해서 그 오브젝트가 이동가능한 곳과 이동하지 못하는 곳을 이해할 수 능력을 부여한다. 여러가지 네비게이션 컴포넌트가 있는데, 해당 오브젝트에 네비메시 에이전트라는 컴포넌트를 추가하면 다른 오브젝트와 충돌을 피하는 능력을 부여해준다. 사용방법 해당 위치를 마우스로 클릭했을 때, "Wall" Layer가 붙어있는 오브젝트라면 이동을 한다. void OnMouseClicked(Defines.MouseEvent evt) { if (playerState == PlayerStateEnum.Die) return; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); Debug.DrawRay(Camera.main.tran.. 2024. 3. 10. Time.DeltaTime 총알이 1 프레임당 1m를 간다고 가정했을 때 10 FPS인 A 컴퓨터가 1초에 10m를 움직일 때 20 FPS인 B 컴퓨터는 20m를 움직이게 되므로 싱크가 맞지 않게 된다. 컴퓨터 성능에 따라 달라지는 현상들을 막기 위해서 Time.DeltaTime은 10FPS 이면 1초에 10 프레임이니까 1/10(10분의 1) 0.1초이고, 20 FPS 이면 1초에 20 프레임이니까 1/20(20분의 1) 0.05초가 된다. detlaTime을 적용하면 10 FPS 컴퓨터에서 1 프레임당 1m 이동하는 총알이 1초에 1m 이동(10 프레임 * 1m * 0.1)하고 20 FPS 컴퓨터에서 1 프레임당 2m 이동하는 총알이 1초에 1m 이동(20 프레임 * 1m * 0.05)하게 된다. A컴퓨터는 1초에 10m 이동.. 2024. 3. 9. 이전 1 2 3 4 5 6 7 8 ··· 34 다음