inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)

콜백 질문 2

281

신진

작성한 질문수 102

0

감사합니다 c#을 새로 배우기 시작한 분들에게 최고의 강의인 것 같아요..

설명주셔서 mom과 son의 예에서는 어떤 흐름인지 대충은 이해되는 것 같은데

실제 게임에서 콜백함수가 어느부분에 쓰이는지 궁금해서요. (해당 강의가 어떤것인가요)

더해서 struct와 class의 차이도 개념은 이해한 것 같은데

이것도 게임에서 어떻게 다르게 쓰이는지 짧게만 코멘트 드립니다.

C# unity

답변 2

1

신진

최고의 강의 친절한 답변 감사드립니다~!

0

백현우

우와 도움이 되신다니 너무 다행이네요 감사합니다 :)

실제 강의에서는 '4.16 완성도 갖추기 3 - 점수 기능 구현' 강의에 콜백의 예시가 자세히 나와있습니다! 하지만 이벤트를 사용하기 때문에 이론 강의 (4.10~4.13)를 모두 익히신 후 수강하시는 것을 권해드립니다!

 struct와 class의 경우, 사용성의 측면에서만 보자면 비교적 간단한 타입(강의에서의 점과 같은 타입)은 struct로 표현하고 복잡한 타입(Enemy와 같은 타입)은 class로 표현해요. struct가 class보다 메모리에 할당될 때 조금 더 가벼워서 성능상 이득을 볼 수 있기 때문입니다!

(아래 설명은 이해가 어려우시면 넘어가셔도 무방합니다!)

좀 더 자세히 설명드리자면 , class로 생성된 객체는 힙이라는 메모리 공간에 할당되고, struct 객체는 스택이라는 메모리 공간에 할당이 됩니다. 힙 메모리는 공간이 모자라면 유니티에서 가비지 컬렉터라는 것을 작동하여 청소하는 시간을 가지는데요. 이것이 성능상 좋지 않기 때문에 간단한 타입은 class가 아닌 struct로 선언하여 힙 메모리의 과도한 사용을 피하는 것이 좋습니다. (게임이 버벅거리는 이유 중에 하나에요!)

감사합니다 :)

EXTENSIONS

0

55

1

총알발사 Vector3

0

129

1

Invoke 오류

0

163

1

4.10 델리게이트 예문이 이해되지 않습니다.

0

121

1

기존에 있던 스크립트에 워링이 새로운 스크립트에서도 콘솔에 뜹니다.

0

116

2

강의 영상 2.5 객체 중 객체와 class관련 질문입니다

0

115

1

델리게이트를 이용하여 멀티캐스트를 할 때, 같은 타입만 담을 수 있나요?

0

183

1

사용하시는 테마가 궁금합니다

0

224

1

저도 이동이 안돼요.....ㅠㅠ

0

207

1

작동이 안되네요

0

650

1

2.17강에서 피격부분이 작동하지 않습니다

0

226

1

교재 관련 질문

0

312

1

유니티 vscode 연결

0

1848

1

Vector2 Vectoe3

-1

377

1

실행시 콘솔창 출력안됨

0

2166

1

왜 이 책에서는 Time.deltaTime을 쓰지 않았는지?

0

795

1

혹시 강의 내용 정리한 것을 블로그에 포스팅 해도 될까요??

0

380

0

collision 발생 조건

0

451

0

강의 2.11 protected와 this/base 에서 객체생성 오류가 발생합니다.

0

332

0

class 작성 스크립트와 객체를 생성하는 스크립트가 다른 경우

0

286

1

질문이 있습니다! 컴파일 에러 관련입니다.

0

276

0

Peek에 대해서 질문드립니다.

0

368

1

이런식으로 코드를 짜도 될까요?

1

593

0

visual studio code

0

381

1