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

3
我想根据设备方向应用移动背景。如果设备竖直地保持不动并绕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)];

}

1
那么...问题出在哪里? - geowar
1个回答

1

提醒一下:您正在查看加速度计,而不是陀螺仪;请尝试使用以下内容:

- (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];
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接