Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Диагональный свайп (http://www.flasher.ru/forum/showthread.php?t=213611)

Godwarlock 19.11.2016 18:58

Диагональный свайп
 
Всем привет. Подскажите как можно решить следующую проблему. В общем есть свайп, реализумый через
Код AS3:

this.addEventListener(TransformGestureEvent.GESTURE_SWIPE , onSwipe);
 
private function onSwipe (e:TransformGestureEvent):void{
if (e.offsetX == 1)
{
 
}
}

Так вот. Он отлавливает offsetX и offsetY. То есть если проводишь пальцем сверхувниз, снизувверх, справаналево, слевонаправо. Как реализовать диагональ такого события? В общем говоря добавить 4 направления пальцем диагональным образом.

caseyryan 19.11.2016 19:54

не пользовался этим, но первое, что пришло в голову когда прочитал пост:
раз offsetX == 1 - это слева направо, а offsetY == 1 - это сверху вниз. То можно предположить, что подобное условие
Код AS3:

if (offsetX == 1 && offsetY == -1) {
    // будет считаться диагональным свайпом слева направо, снизу вверх
}

надеюсь идея ясна.
Ну, на крайняк, можешь написать конвертер свайпов самостоятельно

Godwarlock 19.11.2016 20:22

Цитата:

if (offsetX == 1 && offsetY == -1) {
// будет считаться диагональным свайпом слева направо, снизу вверх
}
Да дело в том, что эвент отлавливает только по направлениям конкретно оси y и оси x, когда производится диагональное смещение пальца на сенсоре, событие на видит этих действий, от того не выходит получение значения по x и y одновременно, только по какой-то одной координате.

Цитата:

Ну, на крайняк, можешь написать конвертер свайпов самостоятельно
Так то можно попробовать через Touch event, в фазе Move, отлавливать текущие координаты, которые задействует палец в данный момент и в зависимости от направления, выдавать нужный параметр. Но как то не охото велосипед изобретать, может есть более удобный вариант. Я просто свои эвенты никогда не писал, походу пришло время)


Часовой пояс GMT +4, время: 01:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.