问题标签 [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.
ios - 关于场景工具包翻译如何工作和加速度计的问题
- 过去我做过一点点 3d 图形。当您移动或旋转场景套件精灵时,它会自动更新其平移矩阵,还是您必须自己制作?
- “位置”和“eulerAngles”都是......绝对的属性。
- 例如,如果我在 sprite kit 中并将平移设置为 (1, 0),它将位于相对于原点的那个点。
- 如果我将 z 旋转设置为 90,它将旋转 90 度。
- 如果我增加翻译(使用+=)x,它将开始排成一行。
- 同样对于 zRotation 如果增加它会旋转。在场景工具包中,如果我对平移和欧拉角值做类似的事情,他们会做同样的事情吗?
- 加速度计到底认为它的测量值是什么,就像一定时期内的运动量?所以基本上它是设备所在的两个同时点之间的增量。
是的,这个问题绝对是宽泛的,但是它们最好放在这里,然后分散在三个小帖子中。
ios - 如何在 iOS 上将设备坐标转换为 UIView 坐标
我正在使用 CMMotionManager 对象来检索指示设备加速度的 CMAcceleration 向量。此向量位于设备坐标中,与 GUI 的方向无关,因此与我的 UIView 的方向无关。
但是,当绘制到我的 UIView 时,我想将该加速度矢量转换为我的 UIView 的坐标系。以前,我会从 [UIApplication statusBarOrientation] 读取设备界面方向,或者通过 [UIViewController willRotateToInterfaceOrientation] 消息获取设备方向更改。
然而,Apple 不赞成这两种方式,而是将所有设备方向变化视为 UIView 对象框架的变化。那么,我们应该如何在 CMAcceleration 的设备坐标系和我们的 UIView 的界面方向之间进行转换呢?现在这样做的正确方法是什么?
ios - 如何使用加速度计旋转?IOS
我想通过左右倾斜手机来旋转我的角色,但它只在调用 DidMoveToView 时旋转一次。我需要在我的代码中更改什么?
ios - 如何根据加速度计的 x 坐标旋转精灵?
我的角色需要左右移动和旋转。移动一切正常,但我对旋转不满意。我希望角色仅在向左或向右移动时旋转。当角色不动时,旋转需要停止。模仿平滑的滚动。
我尝试通过 旋转SKAction
,见下文:
这使得角色一直在移动。任何帮助表示赞赏!
搬家代码:
ios - 使用手机倾斜来移动你的角色
我的目标是在手机靠在一边时移动我的角色。有点像以前在“DoodleJump”中的情况。我还没有找到任何关于它的东西。有谁知道怎么做?
ios - 雪碧与加速度计“滞后”
精灵基于加速度计的 x 轴旋转和移动。当手机进一步倾斜时,精灵会旋转并移动得更快。一切正常,但并不顺利。当精灵缓慢移动时,它是滞后的。
我尝试根据加速度计的 x 轴控制速度。
但这并不能解决问题。有人知道如何停止滞后吗?
代码:
swift - Swift CMMotionManager 让 Roll、Pitch、Yaw 工作
我很难获得正确的语法以正确返回 Swift 中的滚动、俯仰、偏航。加速度计都工作正常,但无法解决这个问题。这是材料代码:
quaternions - CMMotionManager 从缓存参考帧更改未按预期工作
当我调用 startDeviceMotionUpdatesUsingReferenceFrame,然后缓存对我的第一个参考帧的引用并在之后对我的所有运动更新调用 multiplyByInverseOfAttitude 时,我没有从我期望的参考帧中得到变化。这是我不理解的一个非常简单的演示。
首先,在我的应用程序中,我只关心俯仰和滚动。但是偏航也在那里表明我的困惑。
如果我将手机放在我的平板桌面上,启动应用程序并查看日志,一切都会按预期进行。所有的偏航、俯仰滚转值为 0.0,然后如果我将手机旋转 90 度而不将其从表面抬起,则只有偏航发生变化。所以那里一切都很好。
为了证明我认为是问题所在......现在将手机放在(例如)一个空咖啡杯中,这样所有角度都略微倾斜,并且重力方向在所有轴上都有一些分数值。现在启动应用程序,使用上面的代码,您会认为一切正常,因为偏航、俯仰和滚动的值再次为 0.0。但现在将咖啡杯旋转 90 度,但不要将其从桌面抬起。 为什么我看到所有偏航、俯仰和滚动的姿态发生显着变化? 由于我缓存了我的初始姿态(现在是我的新参考姿态),并调用了 muptiplyByInverseOfAttitude 我不应该只是改变偏航吗?
ios - iOS CMMotionActivity Manager,如何在汽车停止时检测停车标志?
我正在开发一个用于检测用户当前动作的项目,我使用 CMMotionActivityManager 来处理这些动作,包括“静止”、“步行”、“汽车”、“跑步”。现在有一个要求,我需要知道人们停车时的位置。但问题是,我只需要人们最后停车时的位置。如何消除停车标志的影响。因为人们在开车时总是停下来。
如果汽车停止,则状态将为'stationary,1,walking,0,running,0,automotive,1,cycling,0'
如果汽车在汽车运动中,状态:'stationary,0,walking,0,running,0,automotive,1,cycling,0'
如果汽车处于静止状态:'stationary,1,walking,0,running,0,automotive,0,cycling,0'
这是代码的一部分:
但是系统不能那么敏感,它无法确定用户是因为停车标志而停车还是最终停车。由于它不够灵敏,我不知道如何提高检测人是否最终停车的准确性。
ios - 使用加速度计和陀螺仪时的系统性能和电池使用情况
我正在做一个结合了加速度计和陀螺仪使用的项目。
在我正在开发的特定应用程序中,我会在需要时打开(例如.startGyroUpdatesToQueue
)加速度计和陀螺仪,在不需要时关闭(例如.stopGyroUpdates()
),类似于 Apple 的文档建议。
但是,我注意到在用户不时注意到的情况下,将加速度计和陀螺仪重新打开时可能会有轻微的延迟。因此,首选是保持加速度计和陀螺仪始终开启,以便用户获得不间断的体验。
问题:
1 - 在应用程序中启用加速度计和陀螺仪对系统性能和电池使用的效率如何?
2 - 当加速度计和陀螺仪打开时,是否有系统性能和电池使用的证据/数据?
3 - 有没有办法暂停加速度计和陀螺仪而不是完全关闭它?