locked
<toolkit:GestureService.GestureListener> Обработчики жестов писать самому? [wp7] RRS feed

  • Вопрос


  • <toolkit:GestureService.GestureListener>
        <toolkit:GestureListener
        	   PinchStarted="OnPinchStarted"
        	   PinchDelta="OnPinchDelta"
        	   DragDelta="OnDragDelta"
        	   DoubleTap="OnDoubleTap"/>
    </toolkit:GestureService.GestureListener>



     

    Некоторый алгоритм обработки жестов имеется, но он медленный. Как реализовать "гладкое" зуммирование и перемещение с кинематикой ? возможно ли это в GestureService?


    • Изменено K_K 15 декабря 2011 г. 1:13
    • Изменен тип K_K 15 декабря 2011 г. 13:43
    • Изменен тип Abolmasov Dmitry 29 декабря 2011 г. 9:32
    15 декабря 2011 г. 1:08

Ответы

  • не совсем понятны ваши вопросы.

    Есть тулкит, с помощью которого ваша программа может получить информацию о происходящих событиях ( в данном случае вы подписались "слушать" сжатие/растягивание, перетаскивание и двойной тап)


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

    У каждого события есть свои свойства, которые несут всю нужную информацию. Но она не будет делат за вас вашу работу

    Лично я в свое время, когда делал зум, чтобы убрать "дергание" (палец юзера редко когда идет ровно, без дрожи) просто ввел дискретный порог - изменения масштаба делал при превышении этого порога.

    • Помечено в качестве ответа Abolmasov Dmitry 29 декабря 2011 г. 9:32
    15 декабря 2011 г. 9:45

Все ответы

  • не совсем понятны ваши вопросы.

    Есть тулкит, с помощью которого ваша программа может получить информацию о происходящих событиях ( в данном случае вы подписались "слушать" сжатие/растягивание, перетаскивание и двойной тап)


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

    У каждого события есть свои свойства, которые несут всю нужную информацию. Но она не будет делат за вас вашу работу

    Лично я в свое время, когда делал зум, чтобы убрать "дергание" (палец юзера редко когда идет ровно, без дрожи) просто ввел дискретный порог - изменения масштаба делал при превышении этого порога.

    • Помечено в качестве ответа Abolmasov Dmitry 29 декабря 2011 г. 9:32
    15 декабря 2011 г. 9:45
  • а есть какой-нибудь рецепт, что бы сделать алгоритм максимально похожим на алгоритм зума в галерее фотографий  в плане производительности, скорости и визуальным ощущениям(fps)..?
    • Изменено K_K 15 декабря 2011 г. 13:44
    15 декабря 2011 г. 13:43
  • Честно говоря, даже не интересовался. Мне хватило получения данных от обработчика жестов, эти цифры отдавал в ScaleTransform(свой пример я вам давал в схожей теме несколько дней назад). Каких-либо проблем с производительностью не замечал.

    Изначально возникли только две проблемы:

    - дрожь картинки, т.к. палец не идет по экрану ровно. Это решилось просто введением нижнего порогового значения, которое стоит учитывать

    - многократно увеличиваемая картинка в конце концов давала черный экран. Это тоже решилось просто - введением максимального значения зума.

     

    Каких-то специальных алгоритмов вводить не требовалось.


    • Изменено ealexash 16 декабря 2011 г. 5:38
    16 декабря 2011 г. 5:37