问题标签 [cmmotionmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
625 浏览

ios - 使用 CMMotionManager 中的 UIDynamics 和重力旋转 UIView

我有一个 UIView,它是一个用绳子挂在钉子上的相框。我正在尝试围绕其锚点旋转视图,以保持视图底部平坦(与地面平行),而不管设备旋转如何。我试图通过使用 CMMotionManager 和 UIDynamics 来实现这一点,但今天似乎无法正常工作。这是一些代码...

我已经尝试将 motion.gravity.x 作为 itemBehavior 上的 angularForce 来验证力是否正确返回,并且视图旋转正确的方向,这一切似乎都很好。这种方法的问题是视图继续旋转,因为施加了恒定的力。使用 setGravityDirection: 结果,视图锚定没有旋转。一些帮助将不胜感激!谢谢!

0 投票
1 回答
421 浏览

swift - 致命错误:在展开可选值 CMMotionManager 时意外发现 nil

试图在 swift 中实现这个raywenderlich教程,但不幸的是我

在线的

任何机构都可以请帮助它为什么会发生

请从这里下载场景文件

0 投票
1 回答
186 浏览

ios - 从 iOS 中的 RotationMatrix 获取标题

我从我的 CMMotionManager 收到 RotationMatrix 并想从中计算我手机的航向,例如北纬 38 度(并避免 CLLocationManager),以便制作更准确的指南针:

但是,这仅在手机平放在桌子上时才有效。我应该使用什么公式来允许我手中所有手机的位置,处于横向模式,以及设备在地平线上方或下方?

谢谢。

0 投票
0 回答
716 浏览

ios - 当iOS设备中没有M7处理器时,如何确定用户是否在iOS中移动?

我知道在以下情况下如何确定用户是否在车辆中移动:

1. CLLocationManager

在这种情况下,根据locationManager:didUpdateLocations方法中的速度,我可以确定用户是否在车辆中移动。

2. 如果 M7 可用 --> CMMotionActivityManager

在这种情况下,我可以使用CMMotionActivityinstartActivityUpdatesToQueue:withHandler方法来确定用户是否在车辆中移动。

我被困在iOS Device 没有 M7 Processor的情况下。

我可以CLLocationManager在这种情况下使用,但它会耗尽设备电池,所以我不会选择这个选项来实现该功能。

如果 M7 不可用,请向我提供指导以了解用户是否在车辆中移动。

我已经参考了以下链接,但他们没有帮助我。

提前致谢。

0 投票
1 回答
723 浏览

ios - 检测碰撞运动

我试图检测 iPhone 的整个左侧何时被撞到。这是我到目前为止所拥有的:

只要我碰到手机的左上角,上面的代码就可以工作。但是,如果我尝试将整个手机直接向左直线撞击,它很少会起作用。我在这里缺少什么吗?

谢谢!

0 投票
2 回答
1522 浏览

ios - 在 Swift 中使用加速度计

我有这段代码可以快速使用加速度计,但是当条件为真时我需要动画视图,但不是动画。

我可以做些什么来制作动画。谢谢

0 投票
0 回答
498 浏览

xcode - 加速度计 iPhone 不稳定?(迅速)

我在横向(iPhone 5s)中使用加速度计进行游戏,但它看起来不是 100% 稳定,或者我做错了什么..

这就是我使用它的方式:

我用对了吗?意外运动的原因可能是什么?有时当我倾斜设备时什么都没有发生,有时当我不倾斜设备时播放器(“hond”)会移动并且倾斜不会改变任何东西..

0 投票
0 回答
295 浏览

objective-c - CMMotion Manager 陀螺仪和加速度计更新间隔有误?

我正在尝试制作一个以给定间隔收集加速度计和陀螺仪更新的应用程序。加速度计和陀螺仪的间隔相同,因此我希望两者的数据对齐。然而,使用 CMMotionManger,加速度计和陀螺仪数据不会在给定的时间间隔内完美更新(我希望每秒更新 20 次,范围为 15-20),并且加速度计点和陀螺仪点的数量不一致,尽管它们具有相同的更新间隔。这是我开始数据收集的代码:

}

处理程序方法只是将数据放入存储数据的数组中,直到将其写入文件。上次测试应用程序时,我得到了 240 个加速度计数据点和 366 个陀螺仪数据点。如果间隔相同,为什么收集点的数量会有很大差异?为什么每秒的数据点数与提供的时间间隔不一致?

0 投票
1 回答
42 浏览

ios - 需要澄清 iPhone 传感器

是否可以获得以下详细信息:

  1. 传感器的名称和型号
  2. 传感器单位中传感器的最大范围。
  3. 传感器的功耗。
  4. 提供传感器的供应商的名称。

Apple 会通过编码提供所有这些信息吗?请指导我。

提前致谢。

0 投票
1 回答
111 浏览

sprite-kit - 在板子精灵套件 Xcode 周围移动几个球

我有一个小应用程序,我有几个使用 MotionManager.gravity 在板上移动的精灵“球”。
我有代码,当任何一个球遇到边缘时,就会在边缘停止。如果任何一个球到达角落,它也会停在角落里。我还编写了代码,其中如果两个或三个球在任何一个边缘上并相互接触(它们打开了碰撞检测),它们就会停下来,保持它们与另一个球的相对位置。

这是我的代码:

//这会分配motionManager并设置重力值。

//这显示了我如何将球停在边缘

//这会把它停在角落里

//这显示了我是如何设置的,如果它们在一侧并且球1在角落里,球2在下一个球3在下一个,它们保持它们的相对位置。我想如果我设置角球并且其余的都打开了碰撞检测,他们就会停下来。他们这样做了,但他们将角落里的 ball1 推到了它的位置之外。所以我写了代码

问题是当我添加更多球时,代码将变得非常复杂。

有没有办法这样写,如果一个球(任何球)在角落里,而另一个球在第二个位置,它将停留在那里,依此类推。有点像所有球配置的通用代码。而不是为每个配置编写它?