2013-05-28 7 views
0

많은 타일 스프라이트와 하나의 플레이어 스프라이트가있는 2D 프로젝트를 만들었습니다. 나는 카메라를 플레이어에게 따라 가려고 노력하고 있으며, 대부분은 작동하고 있습니다. 그러나 한 가지 문제가 있습니다.
지도 가장자리로 가면 정상적으로 스크롤되지만 검정색 배경 대신 배경 (검은 색) 대신지도 가장자리에 스프라이트 사본이 표시됩니다. 일부 사각형을 비워두면 동일한 문제가 발생합니다. 이동하면 이전에 있던 타일 사본이 표시됩니다. coords - offset 에 위치하는 모든 스프라이트의 sprite.rect을 설정 다른 모든 스프라이트 (파이 게임) 배경이 아닌 이전에 있었던 복사본을 표시하는 빈 사각형

  • 에 대한

    • 선택 스프라이트
    • 그들을 위해 sprite.visible = 1를 수행 볼 수 있어야하는, 그리고 sprite.visible = 0 :

      카메라는 다음과 같이 작동

    • 화면 업데이트 (카메라가 매 턴마다 움직이기 때문에 flip()을 사용하므로 매 회전마다 전체 화면을 업데이트해야 함)

    모두 DirtySpritesdirty = 2입니다.

    왜 배경 대신 가장자리에 스프라이트 복사본이 표시되는지 아는 사람이 있습니까?

    도움을 받으실 수 있습니다!

  • 답변

    1

    화면을 수동으로 지우지 않으면 플립이 내용을 변경하지 않습니다.

    따라서 특정 위치로 그리는 것을 게을리하면 그대로 유지됩니다.

    일반적으로 "홀의 거울"이라고 불리는이 효과를 없애려면 화면의 어떤 부분이 아직 그려지지 않았는지 추적하고 이러한 부분을 그려야합니다.

    지도 윤곽선 주변에서 배경 스프라이트를 정의하고 카메라가 너무 멀리 떨어져 나가는 것을 방지하는 것이 더 쉽습니다.

    변경된 내용 만 다시 그리는 "더티/깔끔한"방식을 사용하기 때문에 프레임을 그리기 전에 전체 화면을 채우는 옵션이 없기 때문에 프레임이 그대로 유지됩니다 마지막 프레임 이후.

    +0

    감사! 백그라운드 스프라이트를 사용한 접근 방식이 효과적이었고 많은 추가 작업이 필요하지 않았습니다. – Lokkij