개인적으로, 블록 위치를 업데이트하지 않아도 가능한 한 자주 화면을 그립니다. 그래서 나는 어딘가에 "update"과 "render" 부분을 가지고있을 것입니다. 업데이트는 위치를 업데이트하거나 업데이트하지 않는 로직으로 공을 플레이합니다. Render는 공을 그래픽 부분으로 옮겨 블록을 그려야하는 부분을 그립니다.
지울 줄이있는 경우 논리는 지울 줄을 알고 표시 할 수 있습니다. 여기서 모든 블록은 4 개의 단일 블록으로 구성되며,이 블록 중 하나는 단일 객체로 간주됩니다. 이제이 블록에 "die"플래그 세트가 있으면 블록을 없애기 위해 일부 렌더링 부분을 가져갈 수 있습니다 (500 밀리 초가 폭발하자). 이 시간이 지나면 개체가 삭제되고 위에있는 블록이 아래로 떨어집니다. 왜 500ms인가? 자, 시간 이동을 사용하면 다른 컴퓨터에서 게임 속도를 동일하게 유지할 수 있습니다.
Btw에는 이미 이러한 업데이트 렌더링 루프를 제공하는 게임 엔진이 있습니다. 예를 들어, XNA, 당신이 가면. NET 라인. 자신의 엔진을 코딩 할 수도 있지만 조심하십시오. 쉬운 일이 아니며 시간이 많이 걸립니다. 나는 이것을 한 번했고 소스 엔진과 같은 엔진이 될 것이라고 기대하지 않는다 ;-)