首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以设置UIAccelerometer增量吗?

可以设置UIAccelerometer增量吗?
EN

Stack Overflow用户
提问于 2012-12-20 22:07:09
回答 1查看 84关注 0票数 0

我正在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的教程

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-21 05:50:27

当您暂停时,可以通过删除代理来停止侦听加速度计事件:

代码语言:javascript
复制
[[UIAccelerometer sharedAccelerometer] setDelegate:nil];

然后,当游戏重新开始时,只需重新设置加速度计。应该不需要更改返回的数据,只需忽略任何不需要的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13973929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档