首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加速度计起始位置

加速度计起始位置
EN

Stack Overflow用户
提问于 2012-08-16 00:20:57
回答 2查看 413关注 0票数 0

在我从加速度计(在X和Y轴上)获得值之后,我将这个值赋给xSpeed和ySpeed变量,然后根据这个值移动一个球。问题是,我希望在活动开始时xSpeed和ySpeed为0(在移动手机之前球不会移动),而不管加速度计的值是什么。我想做这样的校准。

对于Y轴,我尝试了这一点,但并不适用于手机的所有起始位置。

代码语言:javascript
复制
ball.setYSpeed(ySpeed-startAccelY);

其中startAccelY是Y轴上加速度计的起始值,ySpeed将被指定为新值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-16 00:25:38

我建议你取原始的起始值,从当前读数中减去它。

例如,您的代码中有一个变量:

代码语言:javascript
复制
float initialPosition = 1.4; // 1.4 is just an example, you'd set it to the reading of the accelerometer

然后,当您将当前的加速度计读数应用于球时,可以减去initialPosition值以使球移动。这样,球在开始时就会看起来失速。

我希望这能帮到你。

票数 2
EN

Stack Overflow用户

发布于 2012-08-16 00:27:24

我猜你用的是TYPE_ACCELEROMETER传感器吧?请尝试使用TYPE_LINEAR_ACCELERATION传感器。它会自动从传感器读数中减去重力,所以如果你不移动手机,accln就会保持在0 (ish)。

不过编辑Api 9+。

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

https://stackoverflow.com/questions/11973084

复制
相关文章

相似问题

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