안녕하세요. 현재 프로젝트 진행 중에 0~360도 기준으로 방향 표시하는 기능을 구현 중입니다. 첫 구현은 opengl을 사용하여 3D Arrow로 상하, 좌우의 방향을 표시하였으나 생각보다 시각적으로 정확한 구분이 안가더라고요. 그래서 생각한게 상하표시를 없애고 좌우만 표시할 수 있는 방법으로 하자고하여 네비어맵 또는 카카오맵 처럼 표기하고 싶은데 샘플코드나 방법이 있을까요? (물론 radar로 응용해서 구현하면 되겠다 싶긴한데…)
감사합니다
카카오 로드맵의 360도 표시와 동일하게 하고 싶으시면 너무 어렵게 생각하지 마시고 16개의 이미지를 준비한 후 바라보는 각도에 따라 적절한 이미지를 표시하시면 될 듯 합니다.
@dimohy 님 말씀대로 카카오맵은 아래 그림과 같이 스프라이트 방식으로 구현되어 있습니다.
카카오맵
네이버맵
WPF나 Avalonia에서 스프라이트 애니메이션을 사용하시려면 위와 같은 이미지 한 장을 로드하여 Viewbox 속성을 활용하면 됩니다.
각도를 입력으로 하여 해당 프레임의 이미지 영역에 대한 Rect를 반환하는 Converter를 만들어 사용하시면 될 듯 합니다.
Rect
Converter
감사합니다.
오옷 감사합니다. 혹시 이미지 따로따로 있는건 없죠?
이미지가 따로따로 있는 것보다 답변드린대로 하나의 이미지를 로딩해서 필요한 영역만 그리는 방식으로 사용하는 것이 더 유리합니다.
아하 이해했어요 ㅎㅎ 감사합니다~