gpt4 book ai didi

iphone - iPad 1 陀螺仪 : roll, 俯仰、偏航保持为零

转载 作者:行者123 更新时间:2023-12-03 20:45:48 27 4
gpt4 key购买 nike

我正在尝试使用陀螺仪制作一个简单的应用程序,其中角色会根据 iPad 1 的旋转进行移动。

我的代码无法正常工作,因此我测试了原始、俯仰、偏航的值,无论我如何移动设备,它们实际上都保持为零。我确定 iPad 1 支持 CMMotionManager,所以我不确定是什么原因造成的......我的代码如下

- (id) init{
if((self=[super init])){
self.isTouchEnabled = YES;
winSize = [[CCDirector sharedDirector] winSize];
[self createRabbitSprite];

self.motionManager = [[CMMotionManager alloc] init];
motionManager.deviceMotionUpdateInterval = 1.0/60.0;
if(motionManager.isDeviceMotionAvailable){
[motionManager startDeviceMotionUpdates];
}
[self scheduleUpdate];
//[self registerWithTouchDispatcher];
}
return self;

}

-(void)update:(ccTime)delta{
CMDeviceMotion *currentDeviceMotion = motionManager.deviceMotion;
CMAttitude *currentAttitude = currentDeviceMotion.attitude;

if(referenceFrame){
[currentAttitude multiplyByInverseOfAttitude:referenceFrame];
}

float roll = currentAttitude.roll;
float pitch = currentAttitude.pitch;
float yaw = currentAttitude.yaw;

NSLog(@"%.2f and %.2f and %.2f",roll,pitch,yaw);

rabbit.rotation = CC_RADIANS_TO_DEGREES(yaw);

}

请帮帮我..并提前致谢。

(编辑)

显然,motionManager.isDeviceMotionAvailable 返回 FALSE...这一定意味着 iPad 1 不支持 CoreMotion???会不会是设置的问题?

最佳答案

第一代 iPad 确实支持 CMMotionManager(因为它有加速计),但不会返回任何陀螺仪数据 - 它没有陀螺仪!您需要检查 CMMotionManager 实例的 gyroAvailable 属性。

关于iphone - iPad 1 陀螺仪 : roll, 俯仰、偏航保持为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7215670/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com