Lua 为电晕游戏设置加速计
我正在创建一个游戏,使用加速度计移动球(足球模型游戏) 但这段代码并没有给出一个流畅的游戏流程。你们能帮我找到正确的选项吗?你们要么需要“校准”要么改变算法。我会先尝试校准:将acc()替换为 然后做你觉得“不平滑”的倾斜,看看你这样做时打印的值。这将告诉您calibX和Y应该是什么,设置它们,然后取消注释物理行,注释掉打印行,再试一次,直到正确为止。例如,如果x和y瞬时值约为10,则可以尝试calibX=0.1或更小Lua 为电晕游戏设置加速计,lua,coronasdk,accelerometer,game-physics,Lua,Coronasdk,Accelerometer,Game Physics,我正在创建一个游戏,使用加速度计移动球(足球模型游戏) 但这段代码并没有给出一个流畅的游戏流程。你们能帮我找到正确的选项吗?你们要么需要“校准”要么改变算法。我会先尝试校准:将acc()替换为 然后做你觉得“不平滑”的倾斜,看看你这样做时打印的值。这将告诉您calibX和Y应该是什么,设置它们,然后取消注释物理行,注释掉打印行,再试一次,直到正确为止。例如,如果x和y瞬时值约为10,则可以尝试calibX=0.1或更小 如果找不到提供所需运动的校准系数值,则需要更改算法。例如,如果您试图模拟设备
如果找不到提供所需运动的校准系数值,则需要更改算法。例如,如果您试图模拟设备的倾斜,就好像它是一个弹珠滚动的桌子,并且倾斜桌子会使弹珠移动,那么改变重力不是实现这一点的方法。你需要施加一个水平力,这个力等于g*sin(θ),其中g是重力,θ是设备从一侧到另一侧的倾斜角度。如果允许沿另一个方向倾斜,公式会稍微复杂一些 你说的流畅是什么意思?您正在将重力设置为自上次调用以来设备加速度的变化。所以当设备静止或匀速运动时,你的物理重力为零。如果现在用户将设备向上加速1.2,则重力为-1.2。这就是你想要的吗?嗨,问题是当我倾斜设备时,球移动得非常快。上面的代码生成了一个速度运动,当我只是倾斜很小的角度。如果你有其他新的建议。。请说明您最终使用的方法。
function acc(e)
physics.setGravity(e.xInstant*(screenW/4), -1*e.yInstant*(screenH/4))
end
function acc(e)
local calibX = 1
local calibY = 1
-- physics.setGravity(calibX * e.xInstant*(screenW/4), -calibY * e.yInstant*(screenH/4))
print(e.xInstant, e.yInstant, e.zInstant)
end