목록전체 글 (382)
Priv's Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nI7U1/btsAw5MQhd9/mwBjYsYXouIT4192ocrCY0/img.jpg)
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 감시자 패턴 플레이 중인 게임 내에서는 수많은 일들이 벌어질 수 있습니다. 여러분이 적을 처치했을 때 어떤 일이 벌어지나요? 강화 아이템을 얻거나 목표를 달성했을 때는 어떤 일이 벌어지나요? 여러분은 이따금 몇몇 오브젝트들이 다른 오브젝트를 직접 참조하지 않고 알림을 보낼 수 있는 메커니즘을 만들기 위해 불필요한 의존성을 만들어 낼 것입니다. 감시자 패턴(Observer pattern)은 일..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Gu4Ys/btsAbmHaC1e/RVHkcMggeV3GRMvOPwRzjk/img.jpg)
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 상태 패턴(State pattern) 플레이어가 조작할 수 있는 캐릭터(Playable Character)를 제작하는 과정을 상상해 봅시다. 이 캐릭터는 땅 위에 서 있을 수도 있고, 컨트롤러를 조작해 달리거나 걸어 다닐 수도 있습니다. 점프 버튼을 누르면 캐릭터는 공중으로 뛰어오릅니다. 몇 프레임이 지나면 캐릭터는 땅 위에 서게 되고 대기 상태, 즉 서 있는 상태로 다시 진입합니다. 2. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nHWEn/btszGvLdKl6/WuoA54GPk55t2kbCL56pE0/img.jpg)
Level up your code with game programming patterns A guide written by programmers, for programmers, that demonstrates how to leverage design best practices resources.unity.com 1. 커맨드 패턴 (Command pattern) 본래의 GoF 패턴 중 하나인 커맨드 패턴(Command Pattern)은 특정한 일렬의 행동들을 추적하고자 할 때 유용한 패턴입니다. 게임을 플레이하는 도중에 되돌리기/다시 실행하기 기능을 구현하고 싶거나, 사용자의 입력 데이터를 시간순으로 리스트에저장하는 히스토리 기능을 구현하고 싶을 때 커맨드 패턴을 사용할 수 있습니다. 플레이어가 실제로 전..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bc6fPn/btsz6jFgmXJ/uzx7Ft0JZ4m7vs6jT64Gx1/img.jpg)
1. Mathf.Lerp( ) Mathf 라이브러리에서 제공하는 Learp( ) 메서드는 선형 보간을 구현할 수 있게 해주는 메서드입니다. 흔히 말하는 '부드럽게 이동하기' 기능을 구현하기 위해서 종종 마주하게 되는 메서드입니다. 선형 보간은 쉽게 말해서 두 값이 주어졌을 때, 두 값 사이를 직선으로 이은 뒤, 선형적으로 그 사이의 값을 추정해 내는 기법입니다. 이해를 쉽게 하기 위해 덧붙이자면, AMD에서 개발해 제공하는 Fluid Motion Video 기술을 설명할 때도 '보간'이라는 단어가 등장합니다. Fluid Motion Video 기술은 영상의 두 프레임 사이의 이미지를 추정해 그려낸 뒤, 이를 삽입하여 기존의 영상보다 더 많은 프레임을 지닌(더 부드러운) 영상을 만들어내는 기술입니다. Un..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yii15/btszKCxFRkk/dSsGH6fEiqMuBk5b0xyKFk/img.jpg)
1. foreach( ) 문 foreach( ) 문은 배열이나 리스트, 딕셔너리 등과 같은 타입의 인스턴스를 매개변수로 받아서 각 요소들을 반복적으로 반환하는 편리한 반복문입니다. var fibNumbers = new List { 0, 1, 1, 2, 3, 5, 8, 13 }; foreach (int element in fibNumbers) { Console.Write($"{element} "); } // Output: // 0 1 1 2 3 5 8 13 하지만 foreach( ) 문은 enumerator를 사용합니다. 다른 언어에서는 iterator라는 단어를 사용하지만, C#에서는 enumerator라는 단어를 사용하므로 구분해 사용하겠습니다. 2. enumerator는 참조 형식(Reference ..