На данный момент у меня есть анимация, которая обновляет смещение, а затем выравнивает его в конце, чтобы сбросить следующую анимацию. Я слушаю обновления этой анимации для координации с другой, но она не запускается при обновлении смещения.React Native Animated Listener не запускается при обновлении смещения
imagePosition.addListener(this._animateOther)
Я ожидаю, что _animateДругое будет срабатывать по мере перемещения моего объекта.
Однако это не вызывает _animateдругой.
this.state.imagePosition.setOffset(update)
Только когда смещение сливается обратно в значение, оно вызывает _animateПрочее.
this.state.imagePosition.flattenOffset()
Это ошибка, и есть ли способ прослушивания смещения обновлений?
Но вся цель смещения - это то, что я могу продолжать анимацию. ie Пользователь перетаскивает квадрат от (0,0) до (20, 5), поднимает палец, затем перетаскивает квадрат из (20, 5) -> (30,10) Если я обновляю значение каждый раз, квадрат будет заканчиваться на (10,5), когда он сбрасывается на следующей кастрюле. Если я только обновляю смещение и сглажу в конце, я вернусь к правильной (30,10) координате. –
Фокус в том, что вы начинаете перемещать свой квадрат (onResponderGrant in View или onPanResponderGrant в PanResponder), 'setOffet' до анимированного значения и' setValue' до 0, обновлять значение каждый раз, когда вы перемещаете палец (onResponderMove), и flattenOffset, когда вы поднять палец (onResponderRelease). Использование PanResponder? [Вот пример] (https://gist.github.com/octopitus/edcf671ddea4f60b3794099bec304748) – Octopitus