Какой датчик использовать для создания эффекта параллакса на iPhone? - PullRequest
0 голосов
/ 07 августа 2011

У меня есть сцена, разделенная на 3 разные плоскости, и я хочу переместить эти плоскости влево или вправо относительно вращения устройства на оси, поэтому, когда устройство находится на 0 градусов относительно поверхности, плоскости будутцентр.Я вижу этот эффект на домашнем экране игры с моего iPod touch (первое поколение).С каким датчиком я должен работать для создания подобного эффекта?

Ответы [ 2 ]

2 голосов
/ 07 августа 2011

Чтобы добиться эффекта параллакса, добавьте инфраструктуру CoreMotion в свой проект и создайте CMMotionManager. Затем для устройства с гироскопом вы можете использовать startDeviceMotionUpdatesToQueue:withHandler: и проверить motion.attitude.roll в своем блоке обработчика.

Для устройства, которое не имеет гироскопа, вы можете использовать startAccelerometerUpdatesToQueue:withHandler: и проверять accelerometerData.acceleration.x, или вы можете использовать UIAccelerometer и реализовать UIAccelerometerDelegate. В любом случае, вы, вероятно, захотите создать фильтр нижних частот, чтобы отличать гравитацию от линейного ускорения. У проекта GLGravity есть пример этого.

См. Раздел События движения в Руководстве по обработке событий для iOS.

1 голос
/ 19 сентября 2013

попробуйте эту категорию UIView https://github.com/Przytua/UIView-MWParallax

вы получаете эффект параллакса для выбранных объектов UIView (или его подклассов), просто устанавливая значение 1 свойства

...