Размах обнаруживается только на сцене, Adobe AIR для iOS - PullRequest
0 голосов
/ 07 сентября 2018

Я делаю приложение для iOS в Adobe Animate / AIR. У меня есть меню цветовой палитры, которое пользователь может пролистать вверх. Странная вещь, это всегда работает, когда Слушатель добавлен на сцену (не практично). Но когда я добавляю его в меню, оно попало и пропало. Он не будет регистрировать пролистывание, но затем он по какой-то причине начал работать некоторое время, а затем снова остановился. Это сводит меня с ума.

import fl.transitions.Tween;
import fl.transitions.easing.Regular;

// SWIPE SHELF UP OR DOWN
Multitouch.inputMode = MultitouchInputMode.GESTURE;
skinColourShelf.addEventListener(TransformGestureEvent.GESTURE_SWIPE , skinColourShelfOnSwipe); 
function skinColourShelfOnSwipe (e:TransformGestureEvent):void{
    trace("swipe");
    if (e.offsetY == 1 && skinColourShelf.y < 518.7) { 
        //swiped down
        new Tween(skinColourShelf, "y", Regular.easeOut, skinColourShelf.y, 518.7, 1, true);
    } else if (e.offsetY == -1 && skinColourShelf.y > 380) {
        //swiped up
        new Tween(skinColourShelf, "y", Regular.easeOut, skinColourShelf.y, 380, 1, true);
    }
}

Есть также кнопка-слушатель на стрелке внутри меню, на случай, если человек предпочитает вместо этого щелкнуть. В какой-то момент это выглядело как перемещение этого кода после того, как код смахивания сделал свое дело. Но потом он перестал работать снова. Комментирование всего нижнего раздела также не решает проблему, поэтому, вероятно, это не имеет значения:

// CLICK ON ARROW
skinColourShelf.arrow.addEventListener(MouseEvent.CLICK, skinColourShelfEase);
function skinColourShelfEase(e:MouseEvent):void {
    if (skinColourShelf.y > 380) {
        new Tween(skinColourShelf, "y", Regular.easeOut, skinColourShelf.y, 380, 1, true);
    } else {
        new Tween(skinColourShelf, "y", Regular.easeOut, skinColourShelf.y, 518.7, 1, true);
    }
}

В какой-то момент добавление большого прямоугольника внутри меню заставило его работать по некоторым причинам. И тогда это сработало даже после удаления фигуры. Но теперь это не работает снова. Что может помешать регистрации объекта? Очевидно форма сверху, но нажатие на стрелку работает. Это конфликт между функциями прокрутки и кнопок внутри меню? Что еще я могу попробовать?

О, я тестирую только с использованием собственного симулятора Animate, используя слой "touch and жест" и настройку смахивания. Я еще не перепрыгнул через обручи файла инициализации, поэтому я не знаю другого способа его легкого тестирования.

...