• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

타격시 소리를 추가한다고 한다면

23.03.23 13:12 작성 조회수 329

0

안녕하세요. 만약에 타격시 소리를 추가한다고 한다면PlayerController 클래스의 OnHitEvent 메서드에서 Managers.Sound.Play를 호출해서 재생시키면 될것 같아요. 근데 또 특정 UI 가 켜지고 꺼질때나 플레이어가 죽을때 등등 많은 부분에서 사운드를 재생하는게 필요할텐데 그때마다 Managers를 호출해서 Sound를 재생시키면 안될것 같다는 느낌이 왠지 들어요. 너무 여러곳에서 Managers를 호출하면 코드가 꼬이지 않을까 하는 걱정이요. 그래서 InputManager를 구현한것 처럼 Action을 사용해서 다른곳에서 Sound 재생을 등록시키는게 더 나은 방법일까요..?

GameScene이라는 곳에서 여러 Manager들을 호출해서 게임에 관련된 작업을 하는건 합리적으로 느껴지는데 다른곳에서도 Managers를 계속 호출하는게 괜찮은지 여쭤봅니당

답변 1

답변을 작성해보세요.

0

여러 곳에서 Managers를 호출한다고 코드가 꼬이진 않습니다.
멀티 쓰레드처럼 동시에 돌아가는게 아니라 어차피 하나 하나 순차적으로 호출됩니다.
다만 각종 리소스 (이미지, 사운드, ...) 는 필요할 때마다 로딩하는게 아니라
로딩 화면에서 싹 다 메모리에 들고 있는게 효율적이긴 하고
규모가 있는 게임이라면 그런 부분이 필요하긴 합니다.