일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- two pointer
- 다익스트라
- DP
- Dijkstra
- binary search
- String
- 이진탐색
- Stored Procedure
- 스토어드 프로시저
- 그래프
- SQL
- Hash
- Brute Force
- MYSQL
- Trie
- Two Points
- union find
Archives
- Today
- Total
codingfarm
코루틴 본문
유니티에서 코루틴은 일정시간을 두고 작업을 해야하는 작업에 주로 쓰입니다.
update가 매프레임마다 호출, fixed update가 초당정해진 시간마다 호출되는것과 상반됩니다.
가령 게임내에서 10초를 카운트 해야 할 일이 생긴다면
update 함수를 쓸 경우엔 update내에서 변수에 Time.deltaTime을 계속 더하면서 if문으로 10초가 넘었는지를 탐색해야 하지만, 코루틴을 쓸경우
IEnumerator TimerFunc(){
$\vdots$
yield return new WaitForSeconds(10);
$\vdots$
}
yield return 위의 코드가 다 실행되고 10초 후에 아래 코드가 실행됩니다.
가령 특정오브젝트를 0.05초에 한번씩 이동시켜줄 경우
1
2
3
4
5
6
7
8
9
10
|
void Start(){
StartCoroutine("Move")
}
IEnumerator Move(){
while(true){
transform.translate(new Vector3(0.5f,0,0));
yield return new WaitForSeconds(0.05f);
}
}
|
cs |
코루틴함수를 중간에 완전 종료 시키고 싶다면
yield break;
를 삽입하면 된다.
'Unity5 > 기타' 카테고리의 다른 글
4. 2D 플랫포머 - 오르막길 (0) | 2020.07.29 |
---|---|
3. 2d 플랫포머 - 캐릭터 이동 (0) | 2020.07.26 |
mechanim(2d) (0) | 2020.06.05 |
Ray와 Raycast충돌 (0) | 2020.06.05 |
오브젝트 이동하기 (0) | 2020.06.05 |
Comments