Обнаружение акселерометра и вращение спрайта - PullRequest
0 голосов
/ 05 февраля 2011

Я бы хотел использовать акселерометр для перемещения спрайта игрока.

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

Я также хочу определить, насколько сильно плеер наклонил устройство, и соответственно повернуть спрайт.

Например, если игрок сильно наклоняет устройство, спрайт должен повернуться на 90 градусов, а не 45 для быстрого наклона в направлении.

Как это сделать.Обнаружьте движение устройства в любом направлении, и для небольшого движения спрайт должен вращаться меньше, а для большего вращения спрайт должен вращаться больше.

Я немного поэкспериментировал и не получил результатов.Иногда это работает для вращений по часовой стрелке для движений вверх, вправо и вниз, но не для движений влево.

Что за математика стоит за этим.Примером может служить способ, которым устройство определяет свою ориентацию и поворачивает экран.

Как правильно это сделать?

1 Ответ

1 голос
/ 13 февраля 2011

Для акселерометра только шансы обнаружения плохие. Вы можете посмотреть на этот вопрос . Если вам не нужно полагаться на старые версии iPhone (<4) или iPad, вы должны использовать вместо этого гироскоп. Возьмите основной API-интерфейс движения и начните с примера чайника из WWDC 2010 - вы можете найти его <a href="https://stackoverflow.com/questions/3229311/cmmotionmanager-and-the-gyroscope-on-iphone-4/3621394#3621394"> здесь

...