问题标签 [uiaccelerometer]
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 - iPad 加速度计是否归一化为重力
在将我的 Android 应用程序移植到 iOS 时,我对一件事感到困惑,所以我想知道:我是对的还是 mo 代码工作错了。在 Android 设备上,加速度计以物理测量单位返回值:m/s2。在 ipad 上,对于静止设备,我得到的总力大约为 = 1.0(我预计为 9.8)。我的第一个解释是返回值被归一化为 9.8,所以我必须将它乘以 9.8 才能获得真正的力量。我的第二个想法 - 我的代码完全错误,但很难相信。
iphone - UIAccelerometer 校准后更灵敏?
所以我在我的游戏中做了一个基本的校准,如下所示:校准代码:
然后在我的游戏视图中,这些是加速度计的一些定义:
在我的游戏类的 init 方法中,我这样做:
然后我这样做:
calibrationFloat 设置为游戏开始前从 NSUserDefaults 读取的值。
然后在游戏循环中我这样做:
然后我根据 pos.x 设置图像的位置。然而,这就是问题所在: 在我校准之后,我的图像运动的灵敏度非常高,因此它的运动速度非常快。在我校准之前,运动速度很好,所以校准一定是出了问题。
这里有什么不正确的地方吗,我的计算有问题吗?
谢谢!
ios - UIAccelerometerDelegate:我可以有两个对象来处理 DidAccelerate 事件吗?
我正在将我的 android 应用程序移植到 iOS,加速度计有点问题。我想要两个不同的类,它们具有 DidAccelerate 实现。我制作了两个对象,每个对象都成为 UIAccelerometer 的代表。但只有一个对象 - 最后创建的,有效。另一个没有从加速度计获得事件。UIAccelerometer 不能让两个代表在一个应用程序中同时工作吗?
iphone - 是否可以设置 UIAccelerometer delta?
我正在 iOS 上编写游戏,并尝试使用加速度计设置响应运动。所以当我在 iPhone 上开始游戏时,一切都很好,加速度计响应没有问题。但是当我停止游戏循环(暂停菜单),然后重新开始时,屏幕上的实体会跳到某个地方,然后几秒钟后又回到原位。我相信这是由于游戏循环和加速度计的增量之间的差异而发生的。所以我想知道有没有办法将 iPhone 上的加速度计设置为仅在游戏循环更新时更新值?
UIAccelerometer 的值是这样读取的(我只需要 x 轴)
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
accelerometValues[0] = acceleration.x * 0.1f + accelerometValues[0] * (1.0 - 0.1f);
}
加速度计设置如下
[[UIAccelerometer sharedAccelerometer] setUpdateInterval:1.0 / 60.0];
[[UIAccelerometer sharedAccelerometer] setDelegate:currentScene];
游戏循环本身取自 Alex Diener GameLoop Tutorial的教程
objective-c - iOS 检测用户的移动
我想创建一个简单的应用程序,当我将手机在 Y 轴上从起点移动到终点时,它会在屏幕上绘制一条简单的线,例如从点 a(0,0) 到点 b(0, 10)请帮忙
演示:
iphone - UIImageView 旋转影响位置?
我有一个 UIImageView 设置为使用以下代码在屏幕上上下移动加速度计的值:
在 accelerometerDidAccelerate 方法中设置的 CGPoint 在哪里shipPosition
使用:
显然这很好用,非常简单。当我尝试做同样简单的事情时遇到了麻烦,根据图像的加速度改变图像的旋转。我这样做使用:
出于某种原因,这会导致一件非常奇怪的事情发生,因为每次调用 main 方法时,图像都会恢复到原来的位置。我可以看到图像移动到它应该在的位置的帧,但随后立即弹回。
这个问题只发生在我有旋转线时,注释掉它工作正常。我不知道这里发生了什么,我为不同的应用程序做过很多次,我从来没有遇到过这样的问题。事实上,我从我创建的另一个应用程序中复制了我的代码,它可以正常工作。
编辑:
真正让我困惑的是,当我使用以下方法将旋转角度从加速度更改为船舶位置时:
当我这样做时,船实际上根据加速度计旋转但没有移动,这很疯狂,因为改变ship.center.y
意味着船的位置在改变,但事实并非如此!
ios - 在 XCode 中使用加速度计模拟器
有没有人在他们的 iPhone 应用程序中成功使用过加速度计模拟器?我试图在 COCOS2D 应用程序中使用它,但无法让它工作。
该应用程序和代码及其用法在此处讨论:http ://code.google.com/p/accelerometer-simulator/wiki/Home 。该系统由可从 App Store 下载的 AccSim 应用程序和一些您必须编译到 XCode 项目中的代码组成。
我当然想使用我的 iPhone 的加速度计读数来控制 IOS 模拟器中我的应用程序内部的某些东西。我的 iPhone 已打开 WIFI,并且与运行模拟器的 MAC 位于同一本地网络上。是的,我检查以确保我的 iPhone 和我的 MAC 都在同一个 WIFI 网络上。我 iPhone 上的 AccSim 应用程序在默认的 UDP 端口 10552 上广播加速器信息。两个设备都在我的家庭网络内,我的调制解调器是一个 2WIRE 调制解调器,提供来自 ATTUverse 的互联网服务。
在 AccSim 中,我将 Network 开关切换到 On。它处于广播模式,地址为 255.255.255.255 和端口 10552(默认)。我还尝试单播到网络内我的 MAC 的 IP 地址,但这也不起作用。
似乎无论我做什么,我在 XCode 中的应用程序永远不会看到任何加速度计输入 - 它永远不会看到任何 UDP 数据包,因为我可以告诉它。
有什么我想念的吗?
顺便说一句,我还验证了确实是 AccelerometerSimulation 类正在被 sed。在 COCOS2D 中,我必须将这些文件添加到 COCOS2D 本身并将 AccelerometerSimulation.h 导入 CCLayer。
有什么想法吗?
iphone - 使用 iPhone 加速度计沿 x 轴移动精灵
我正在使用 cocos2d 开发 iPhone 游戏。我正在尝试使用加速度计在纵向模式下移动精灵以左右移动。由于某种原因,我使用的代码默认向右移动,除非手机倾斜 45 度角,即返回值都是正数(表示它应该向右移动),直到它倾斜 45 度角,左或右。死点返回 600 左右,然后随着您向左或向右倾斜手机的进一步降低,直到它达到 45 度角(它达到 0 并开始变为负数)。下面是我正在使用的代码。任何帮助将不胜感激。
ios - 加速度计 didAccelerate 委托方法未在 iOS sdk 6.0 中调用
我正在开发应用程序来获得用户如何有力地摇动 iOS 设备的阈值。我正在使用 iOS sdk 6.0。
我尝试了 UIResponder 委托方法 motionEnded:: 它在设备被摇动时被调用,但没有提供足够的数据来证明某个人摇动设备的力度。我进行了足够多的搜索,找到了使用 UIAccelerometer didAccelerate 回调方法的单一解决方案。但它没有被调用。是sdk的问题吗?由于此方法在 iOS 5 中已弃用。
我还尝试了 coreMotion 框架,但它提供了陀螺仪数据,显示设备旋转了多少,但没有摇晃多少。这样做的最佳方法是什么。我关注了如何检测有人摇晃 iPhone?但没有找到有用的答案。
iphone - 使用 CMMotionManager 和 UIAccelerometer
我将如何进行以下操作:我想捕捉设备在空间中的运动。
我的意思是,有没有办法使用 iOS 框架知道设备在房间的 3 维空间中移动的确切位置?它移动得有多快?
请指导我找到任何好的教程,因为我很难找到任何好的教程。