• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

질문

20.08.21 07:08 작성 조회수 222

0

일반적인 게임에서는 실시간으로 계속 렌더링해주는것이 자연스럽지만 공부차원에서 질문드립니다.

Program.cs에서 지금과 같은 상황은

Initialize()와 GenerateByBinaryTree()에서 이미 tile이 다 결정되므로

렌더링하는 board.Render()는 한번만 호출하면 되는 것이 아닌가요?

혼자 복습하는차원에서 다시 만들다가 프레임관리쪽을 구현하지 않은 상태에서 Render()했을때 윗쪽 wall이 Empty로 구멍이 뚫리는 현상이 발생했습니다.

그런데 while loop를 구현하면 Render()가 루프 안에 없어도 위쪽 wall이 문제가 되지않습니다.

프레임관리와 위쪽 wall이 뚫리는것이 무슨 관련이 있을까요?

(Render함수가 while loop 바깥에 있음에도 while loop를 지우면 문제가 생기고 다시 구현하면 문제가 사라집니다.)

-------------------------

문제상황과 질문을 정리하면

1. Render()는 한번만 호출되도 될 것같아서 while loop 바깥으로 뺐다.

2. 뺴도 문제가 없음, 그러나 while loop를 지우면 위쪽 wall이 Empty로 뚫리는 문제 발생

3. 분명 1에서는 Render()가 while loop 바깥에 있었음에도 문제가 없었는데 2에서 while loop를 지우는게 왜 Render()에 영향을 주는지 궁금합니다.

답변 1

답변을 작성해보세요.

0

미로 자체는 한 번만 Render하면 바뀔 일이 없긴 하지만,
나중에 Player가 맵 위에서 이리 저리 이동할테니
그냥 Update 루프에서 일반 게임처럼 Render를 해주고 있습니다.

프레임 관리랑 Wall이 뚫리는 것은 별다른 연관성이 없습니다만,
코드를 보지 않아 어디가 문제인지는 저도 알 수가 없네요.
정말 정말 궁금하시다면 rookiss@naver.com로 문제 상황을 보내주시면 살펴보겠습니다.