Я уже довольно давно создаю игру Sprite Kit. Совсем недавно я добавлял функции гироскопа/наклона. Используя CMMotionManager
, я на удивление легко получил доступ к номерам. Однако моя проблема возникает из-за того, как хранятся значения acceleration.x
.
Видите ли, как работает моя игра, когда игра запускается, телефон быстро калибрует себя в соответствии с тем, как его держат в данный момент, а затем я реагирую на изменения значения Acceleration.x (удерживая телефон в альбомной ориентации, это эквивалентно наклоняя экран к себе и от себя.) Однако если положить телефон горизонтально, это 1,0, а наклонить его прямо к себе — 0,0, а затем он возвращается к этим значениям, если вы выходите за рамки этого. Таким образом, если кто-то сидит прямо и его телефон откалиброван на 0,1, и он наклоняет свой телефон на 0,2 вниз, результаты будут не такими, как ожидалось.
Есть ли простой способ противодействовать этому?