2011-05-15 5 views
2

안녕하세요 :) 저는 타일 기반 게임을하고 있는데 레벨 편집기 정보에 대해 별도의 창을 만들고 싶습니다. 라이브 편집을 원합니다. 작업자 스레드에 새로운 Microsoft.Xna.Framework.Game을 생성하여 새 창을 만들었습니다. 모든 작업이 멋지게 작동합니다. 마우스 커서 위치 외에도이 새 창에 대한 상대 위치가 아닌 포커스가있는 위치입니다. 솔루션을 둘러 보는데 약 한 시간을 보냈는데 대신 사용자 정의 커서를 사용할 수있게되었지만 Windows 커서는 여전히 활성 상태 였고 클릭 할 때 다른 창을 활성화했습니다. 이상적이지 않습니다. 마우스의 Window Relative 좌표를 재설정 할 수있는 것이 있습니까? 그렇지 않다면 (어쨌든 그것을 할 수도 있습니다.) 편집기가 열려있을 때 게임 창의 가장자리에 다른 패널을 만드는 방법을 살펴보고 모든 세부 사항을 추가 할 것입니다. 단지 별도의 창으로 클리너를 어떻게 든 꿰매는 것입니다 ...XNA의 다중 창에서의 마우스 위치

어떤 아이디어? 대단히 고마워. 크레이그 :)

답변

1

다음은 몇 가지 아이디어입니다. 당신은 윈도우 사이의 거리를 스스로 추적 할 수 있고 조정이 필요한 윈도우와 상호 작용할 때 마우스 위치에 그 거리를 더할 수 있습니다.

또 다른 아이디어는 2 개의 다른 프로그램을 만들고 편집기에 파일이나 다른 것으로 현재 정보를 저장 한 다음 다른 레이아웃에 새로운 정보가 있음을 알리는 것입니다. 이 잘못을 떠올리면 정정 해줘. 한 창에서 게임을 실행하고 다른 창에서 레벨 편집기를 실행하는 것처럼 들립니다.

+0

좋은 아이디어는 효과가 있습니다. 기본적으로 별도의 창에 자산 브라우저를두고 속성을 변경하고 항목을 선택한 다음 게임에 배치 한 다음 게임을 계속할 수 있습니다. 아마 하나의 창으로 옮겨서 그 정보를위한 별도의 뷰포트를 만들어야 할 것 같습니다. 나는 엄지 손가락 스틱을 사용하여 가짜 커서를 빠르게 작동시킬 수 있었다. 내가 지금하고있는 모든 것은 버려진 것입니다 :) – Craigw1701

+0

새 창은 XNA 창뿐입니까? 이러한 종류의 응용 프로그램에 WPF 또는 WinForms를 자체 컨트롤과 함께 사용하는 것이 더 쉽지 않을까요? –