2010-12-14 3 views
2

Я пытаюсь понять, как реализовать функцию щепотки для увеличения. Моя проблема в том, что я не уверен, как это сделать алгоритмически.Использование Windows Phone 7, зажимающий в XNA

У меня есть пинч-позиции обоих пальцев и сумма, которую они сдвинули с момента последнего кадра. Сначала я попытался сделать щепотку величиной дельты расстояния между двумя пальцами, но всякий раз, когда я делал это вокруг этой концепции, был неспокойным.

Даже если мне удастся получить защемление работает пол-прилично, я до сих пор вопрос о направлении увеличения и как сделать изображение увеличить изображение по центру области пинча ...

Есть надлежащий способ реализации такой функциональности?

ответ

2

Что вы хотите сделать, это использовать встроенный API жестов (в частности, Pinch и PinchComplete). Таким образом, вы можете воспользоваться эвристикой, которую команда xna/wp7 уже встроила. Ваше приложение будет чувствовать себя «более родным», потому что оно будет реагировать так же, как и остальная ОС, в ответ на жест щепотки.

Ник Gravelyn имеет большое вступление к жесту API здесь:
http://blogs.msdn.com/b/nicgrave/archive/2010/07/12/touch-gestures-on-windows-phone-7.aspx

-1

Я нашел несколько ссылок из третьих сторон решения ...

1) Dual-Touch SDK for Resistive Screens V1.0 Beta, Rotation Alpha

2) SciLor's HD2/Leo Multitouch .NET CF DLL

Я попытался с помощью Dual-Touch SDKs, которые работали нормально для резистивных мобильных экранов, но а не для емкостных экранов.

+0

ссылки, похоже, не работают – xus

3

Я также рекомендую прочитать это, действительно хорошо реализовано «золотой стандарт» пинч:

http://adtsai.blogspot.com/2010/09/pinch-zooming-using-xna4-on-wp7-getting.html

Он также делает ссылку на щепотку, чтобы увеличить надстройку, чтобы вы могли тестировать защемление на эмуляторе только с помощью мыши.