ios - 如何在 ios 中使用陀螺仪应用 3D 移动背景效果

标签 ios gyroscope

我想根据设备方向应用移动背景。如果设备垂直竖直放置并绕 y 轴旋转,则背景应根据旋转值向左或向右移动。

背景上的其他图标将是静态的,因此会产生 3d 效果。作为引用,我需要与此视频中显示的完全相同的效果:http://www.youtube.com/watch?v=429kM-yXGz8

到目前为止我开发的代码是:

- (void)updateViewsWithAcceleration:(CMAcceleration)acceleration;
{
    _accelX = ((acceleration.x* 0.1) + (_accelX*.9));
    _accelY = ((acceleration.y* 0.1) + (_accelY*.9));
    _accelZ = ((acceleration.z* 0.1) + (_accelZ*.9));

    [_backgroundShadow setFrame:CGRectMake(_accelY*50,_accelZ*50, _backgroundShadow.bounds.size.width, _backgroundShadow.bounds.size.width)];
    [_titleShadow setFrame:CGRectMake(_accelY*50, _accelZ*50, _titleShadow.bounds.size.width, _titleShadow.bounds.size.width)];

}

最佳答案

仅供引用:您正在查看加速度,而不是陀螺仪;试试这个:

- (void)viewDidLoad {
    [super viewDidLoad];

    cmmm = [[CMMotionManager alloc] init]; 
    if (cmmm.gyroAvailable) {
        cmmm.gyroUpdateInterval = 1.0/60.0;
        [cmmm startGyroUpdates];
        CMGyroHandler gyroHandler = ^ (CMGyroData *gyroData, NSError *error) {
            CMRotationRate rotate = gyroData.rotationRate;
            NSLog(@"rotation rate: {%6.2f, %6.2f, %6.2f}", rotate.x, rotate.y, rotate.z);
        };
    } else {
        NSLog(@"No gyro");
        [cmmm release];
    }
}

关于ios - 如何在 ios 中使用陀螺仪应用 3D 移动背景效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16852696/

相关文章:

objective-c - NSURLConnection 在禁用互联网连接的情况下没有给出错误?

iphone - 0 不适用于货币类型输入

ios - 如何在 Swift 中获取 iPhone 当前的俯仰、偏航和横滚?

android - 在android中使用陀螺仪获取角度

ios - 使用陀螺仪数据旋转虚拟相机 - iOS 上的 OpenGL ES

objective-c - WTClient 中的 PROPFIND 请求

iphone - 如何为多个值设置本地通知?

ios - InApp 购买耗材服务器验证设置

android - 在 Android 中实现无标记增强现实

android - 从 Android 陀螺仪获取四元数?