useAnimatedSensor¶
Эта страница была перенесена из старой версии документации.
В процессе переписывания документации некоторые страницы могут быть немного устаревшими.
С помощью хука useAnimatedSensor можно легко создавать классные интерактивные анимации на основе данных от датчиков устройства, таких как гироскоп, акселерометр и т. д.
1 2 3 4 | |
Аргументы¶
sensorType - [SensorType]¶
Вы можете выбрать датчик, доступный в перечне [SensorType].
config - [UserConfig]¶
Опционально можно передать конфигурацию для настройки поведения датчика.
Returns¶
Хук useAnimatedSensor возвращает экземпляр [AnimatedSensor];
Типы¶
AnimatedSensor: [object]¶
Свойства:
sensor: [SharedValue] содержит [3DVector] или [RotationVector] илиnullсодержит реальные измерения датчика как общее значениеunregister: [function]позволяет прекратить прослушивание обновлений датчикаisAvailable: [boolean]флаг содержит информацию о доступности датчиков в устройствеconfig: [UserConfig] конфигурация, предоставленная пользователем
SensorType: [enum]¶
SensorType - это перечисление, содержащее возможные поддерживаемые датчики. Значения:
ACCELEROMETERизмерения выводятся в виде [3DVector]. Измеряется в м/с², без учета силы тяжести.- Измерения
GYROSCOPEвыводятся в виде [3DVector]. Измеряется в рад/с. - Измерения
GRAVITYвыводятся в виде [3DVector]. Измеряется в м/с². - Измерения
MAGNETIC_FIELDвыводятся в виде [3DVector]. Измеряется в мкТл. - Измерения
ROTATIONвыводятся в виде [RotationVector]. [qx, qy, qz, qw] - нормализованный кватернион. [yaw, pitch, roll] - вращение в радианах вдоль соответствующих осей. Мы следуем конвенции iOS.
UserConfig: [object]¶
Свойства:
interval: [number | auto]- интервал в миллисекундах между обновлениями общих значений. Передайте'auto'для выбора интервала на основе частоты кадров устройства. По умолчанию:'auto'.iosReferenceFrame: [IOSReferenceFrame]- опорная рамка для использования на iOS. По умолчанию:Auto`.adjustToInterfaceOrientation: [boolean]- нужно ли подстраивать измерения под текущую ориентацию интерфейса. Например, при альбомной ориентации оси x и y могут быть перевернуты при рисовании на экране. По умолчанию это значение равноtrue.
IOSReferenceFrame: [enum]¶
IOSReferenceFrame - перечисление, описывающее систему отсчета, используемую в iOS. Он соответствует документации Apple. Возможные значения:
XArbitraryZVerticalXArbitraryCorrectedZVerticalXMagneticNorthZVerticalXTrueNorthZVerticalAuto- на устройствах без магнитометра (например, iPod)XArbitraryZVertical, на устройствах с магнитометромXArbitraryCorrectedZVertical.
3DVector: [object]¶
Свойства:
x: numbery: numberz: numberinterfaceOrientation: [[InterfaceOrientation](#interfaceorientation-enum)]
RotationVector: [object]¶
Свойства:
qw: numberqx: numberqy: numberqz: numberyaw: numberpitch: numberroll: numberinterfaceOrientation: [[InterfaceOrientation](#interfaceorientation-enum)]
InterfaceOrientation: [enum]¶
Значения:
ROTATION_0- поворот по умолчанию на Android, портретная ориентация на iOSROTATION_90- поворот на 90 градусов на Android, альбомная ориентация справа на iOS (альбомная ориентация и кнопка home справа)ROTATION_180- поворот на 180 градусов на Android, перевернутая ориентация на iOSROTATION_270- поворот на 270 градусов на Android, альбомная левая ориентация на iOS (альбомная и кнопка "Домой" слева)
Пример¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
Живой пример¶
Советы¶
На iOS для считывания данных с датчиков необходимо включить на устройстве службы определения местоположения (Настройки > Конфиденциальность > Службы определения местоположения).