Corona SDK - 逐帧动画和加速计问题

我们正在制作一个游戏,可以逐帧移动物体,同时还使用加速度计。

我们钩住了两个事件 - 关于画框架和加速度计。

问题是,在接收到加速度事件后,我们立即将x值放入一个变量中。

然后我们使用此变量在屏幕上移动一个对象,但是有相当大的减速。(我转动手机,一秒钟后物体才正确移动,但一秒钟对于游戏来说太长了,我期望得到即时响应)。

我做错了什么?是否有另一种解决方案,或者可以为加速度计提供一些参数?

不幸的是,这是一个严重的问题 - 真正的阻碍。如果这不起作用,我必须找到另一个解决方案(不是Corona)来实现游戏。

提前致谢! 丹尼尔

PS:这是一些来源:

原文链接 https://stackoverflow.com/questions/6542280

点赞
stackoverflow用户437283
stackoverflow用户437283

我对Corona开发一无所知,但有一些普通问题。首先,重力包含什么?只有重力向量还是总加速度=重力+用户加速度?您需要获得用户加速度=总加速度-重力或提供它的事件成员,否则就没有机会。

如果您有用户加速度,您需要积分两次才能得到位置。请参阅运动方程。在您的情况下,代码将如下所示:

速度=用户加速度*经过的时间

位置=0.5*用户加速度*经过的时间^2

通常加速计和陀螺仪精确定位仍然是一个未解决的问题,因此不要期望精确的结果。但是,如果您只是想评估某个方向上是否存在脉冲,那么它可能有效。例如,请参阅使用核心运动从加速计数据中获取位移

2011-07-01 10:44:57
stackoverflow用户232798
stackoverflow用户232798

Ansca论坛的人们刚刚发布了这个:

system.setAccelerometerInterval( 50 )

这并没有完全解决问题,但是

system.setAccelerometerInterval( 100 ) -- 警告 - 会消耗电池寿命!!

解决了 :)

2011-07-01 13:24:50
stackoverflow用户731940
stackoverflow用户731940

我开源了我的第一个使用 Corona SDK 制作的游戏(实际上很成功),其中使用了你描述的同样的倾斜方式来控制移动速度(越倾斜,移动速度越快,反之亦然)。

它叫做“倾斜怪兽”(Tilt Monster),你可以在这里下载它:http://developer.anscamobile.com/code/tilt-monster

2011-07-26 17:33:05