다소 일반적인 제목으로 사과드립니다. 나는 내가하려는 일을 성취하는 방법에 대한 많은 단서가 없기 때문에 가능한 해결책을 연구하기조차 어렵습니다.
나는 일종의 경로 마커를 구현하려고합니다 (가장 적합한 이름이있을 수 있지만 이것이 내가 얻을 수있는 최선입니다).
플레이어 앞에는 경로 계획이 있으며, 플레이어는 자신의 턴 계획을 마치면 플레이어가 어떻게 움직일지를 결정합니다. 플레이어는 마커를 클릭하고 선택한 위치로 드래그 할 수 있지만 마커는 정의 된 작업 영역 (회색 비트) 내에서만 이동할 수 있습니다.
그래서 지금 두 가지 문제가 있습니다.
우선, 그 실행 가능한 영역을 어떻게 정확하게 정의해야합니까? 플레이어를 작동 가능한 각도를 형성하는 시작점으로 사용하는 두 개의 벡터를 상상할 수 있습니다. 아마도 두 개의 호는 플레이어가있는 중심이있는 원에서 나올 수 있습니다. 함께.
둘째, 마커를 배치 할 수있는 영역을 정의한 후 마커가 해당 영역 내에서만 유지되도록하려면 어떻게해야합니까? 예를 들어 플레이어가 마커를 클릭하고 드래그하면 작업 영역 내에서 자유롭게 이동할 수 있지만 영역의 경계를 벗어나서는 안됩니다. 예를 들어 플레이어가 마커를 위쪽으로 드래그하기 시작하면 작업 영역의 끝 부분에 닿을 때까지 위쪽으로 이동하지만 (아래의 첫 번째 다이어그램) 플레이어가 옆으로 드래그하기 시작하면 마커가 여전히 드래그를 따라 가야합니다. 영역 내 (아래의 두 번째 다이어그램).
나는 이것이 너무 혼란스럽지 않기를 바랍니다. 고마워요
편집 : 이것이 차이가 나는 경우 Marmalade SDK와 함께 C ++을 사용하고 있습니다.