- 전체
- 게임 일반 (make game basics)
- 모바일 기획 및 디자인
- GameMaker Studio
- Unity3D
- Cocos2D
- 3D Engine OGRE
- 3D Engine irrlicht
- copperCube
- corona SDK
- Windows Basic Game
- BaaS (Mobile Backend)
- phnegap & cordova
- ionic & anguler
- parse (backend)
- firebase (backend)
- Game Backend Server / Opt
- web assembly
- Smart Makers
- pyGame & Ren'Py
- 머드(MUD) 게임 만들기
- Xamarin(자마린)
- flutter (플루터 앱 개발)
- construct 2 / 3
- pocketbase
- RPG Maker 시리즈
- godot engine
- playmaker(unity)
- react native
Unity3D [유니티 C# 기초 강의] 12. 델리게이트
2017.06.25 15:21
[유니티 C# 기초 강의] 12. 델리게이트
광부 금광캐는광부 2016.08.03 13:53
이 글은 PC 버전 TISTORY에 최적화 되어있습니다.
서론
델리게이트라는 것은 함수에 대한 참조라고 생각하면 됩니다. 하나의 델리게이트로 여러 함수들에 접근해 실행할 수 있습니다. 또한 델리게이트를 이용해 함수를 파라미터로 전달할 수 있고, 여러 함수를 한꺼번에 실행하는 체인 기능과, 어떤 상황에 도달했을 때, 이벤트를 발생시키는 델리게이트 이벤트도 제공되어집니다.
델리게이트 기본 사용법
델리게이트는 기본적으로 함수와 형태가 같게 만들어집니다. 아래 delegate 를 보면 참조할 AddNumbers와 SubNumbers 함수의 형태와 같은 것을 볼 수 있습니다. 그리고 참조변수와 같기 때문에 객체를 생성합니다. 괄호 안에는 참조할 함수를 넣는 것입니다.


실행하면 AddNumbers 를 참조하는 delegate에 값을 넣었기 때문에 더하기 연산을 수행합니다.
델리게이트 활용 - 함수 넘기기
Csharp 에서는 델리게이트를 이용해 함수를 넘길 수 있습니다.

위와 같이 GetAction 함수의 파라미터에는 델리게이터를 통해 함수를 참조로 넘기게 됩니다.

new Calculator(AddNumbers)로 함수의 참조 객체를 전달하여 출력된 값은 더하기 연산입니다.
델리게이트 활용 - 델리게이트 체인
하나의 델리게이트가 여러 함수를 참조하여 델리게이트 객체를 한번 실행함으로서 등록된 모든 함수를 같이 실행할 수 있습니다.

위와 같이 델리게이트를 하나 만들고 += 연산을 통해 참조를 여러개 연결할 수 있습니다.

결과를 보면 3개의 함수가 묶여서 한번에 실행된 것을 볼 수 있습니다.
델리게이트 활용 - 델리게이트 이벤트
어떠한 조건이 만족되었을 때, 자동으로 함수를 호출하게 하는 델리게이트 이벤트를 사용해보도록 하겠습니다. C# 프로퍼티에 대한 이해가 요구되니, 이전 포스팅을 참조하시고 오길 바랍니다.

|
큐브를 5번 클릭하면 큐브의 색이 빨강으로 변하는 예제입니다. 프로퍼티 set 접근자를 이용해서 Hp가 50 이하로 내려가면 이벤트에 연결된 함수들을 실행하는 것 입니다. |

5번 클릭하게 되면 상자의 색이 변하고 색상을 print 해주는 결과를 볼 수 있습니다.
출처: http://itmining.tistory.com/43 [IT 마이닝]
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 5 | [게임 개발 일반] 보드 게임 구성 요소 | 졸리운_곰 | 2020.12.09 | 439 |
| 4 | [게임 개발 일반] 보드 게임/메커니즘의 종류 | 졸리운_곰 | 2020.12.09 | 232 |
| 3 |
]보드게임 규칙 설정] How to Make Board Game Rules
| 졸리운_곰 | 2020.11.24 | 463 |
| 2 |
카드게임(C언어)
| 졸리운_곰 | 2020.11.11 | 359 |
| 1 |
무작정 배우는 C언어 숫자 야구 게임 만들기 게임스랩
| 졸리운_곰 | 2020.10.18 | 664 |

