【发布时间】:2019-10-20 04:47:01
【问题描述】:
我现在已经编码了,所以当我翻转手机时,它会在一些文本中添加一个,但它会一直添加,直到完成翻转。有没有办法让我每次翻转都会增加一个。
更改 y > 代码
func startGyro() {
motionManager.gyroUpdateInterval = 0.2
motionManager.startGyroUpdates(to: OperationQueue.current!) { (data, Error) in
if let myData = data {
if myData.rotationRate.y > 3 {
tiltOut = tiltOut + 1
self.labelText = "\(tiltOut)"
}
}
}
}
我希望它每次翻转都记录一个。
【问题讨论】:
-
您可能可以使用
myData.rotationRate以及自陀螺仪更新开始以来经过的时间,通过积分计算自陀螺仪更新开始以来手机旋转了多少。您还需要确定什么是“翻转”。是从开始旋转180度吗?从开始旋转是 360 度吗?等等。 -
@RPatel99 我希望我的翻转从开始旋转到 = 360 度,我应该如何将它放在我的代码中?
-
我现在很难用陀螺仪测试代码,所以我会发布一个答案,但把它当作你应该做的指南而不是复制 -粘贴示例。
-
@RPatel99 这很有帮助,但我收到一个错误“枚举案例'毫秒'不能用作实例成员”和“let dt = prevTime.distance(to: currTime)。毫秒”部分和“使用未解析的标识符 'dTheta'”,其中两个 dTheta 部分非常丢失,如果你能指出我的正确
-
检查我的答案的编辑。另外,欢迎来到 Stack Overflow;将来,请评论有关该答案帖子评论部分答案的任何讨论。另外,我的意思是让我的代码更像是一个指南,而不是复制粘贴的东西。 “使用未解析的标识符 'dTheta'”错误是大多数编程语言中非常常见的错误,通常意味着未声明变量/变量名中有错字。 @Sprilz