2012-11-10 6 views
0

Windows Store 앱을 개발 중입니다. 내 앱에는 많은 드래그 가능한 사용자 컨트롤 (직사각형)이 있습니다. 사용자가 내 컨트롤을 충분히 빨리 드래그하면 컨트롤이 사라집니다. 그렇지 않으면 원치 않는 제거를 방지하기 위해 화면에 남아 있습니다.내 컨트롤을 화면 가장자리에서 튀게 만드는 방법?

이제는 ManipulationDelta 이벤트 처리기에서 속도를 얻는 방법을 알고 있지만 컨트롤을 화면 가장자리에서 튀게 만드는 방법을 모르겠습니다.

답변

0

문제의 복잡성은 몇 가지 변수에 따라 달라질 수 있습니다. 예를 들어 상자가 서로 회전/충돌하도록 하시겠습니까?

가장 완벽한 솔루션은 Box2D (또는 C#의 포트 번호 box2dx)와 같은 3 단계 솔루션을 사용하는 것입니다. 그러나 Win-RT 버전이 있는지 확실하지 않습니다.

box2dx와 같은 것을 사용하지 않으면 자신의 물리 엔진을 롤업해야합니다. 이렇게하려면 일정한 간격 (예 : 60Hz)으로 업데이트하고 해당 시점의 각 사각형의 위치와 속도를 확인하는 코드 루프를 만들어야합니다. 그런 루프를 설정할 수 있다면 SUVAT을 사용하여 다음 프레임의 각 직사각형의 위치/속도를 계산할 수 있습니다.

+0

감사합니다. 충돌을 감지 할 필요가 없기 때문에 'TranslateTransform'을 내 컨트롤에 추가하고 이동을 제어했지만 너무 쉽지는 않습니다. – greenmoon55

관련 문제