我想根据设备方向应用移动背景。如果设备垂直竖立,它绕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)];
}
答案 0 :(得分:1)
只是一个FYI:你在看加速度,而不是陀螺仪;试试这个:
- (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];
}
}