将加速度计设置为用户位置。

你好,如何将加速计的0点设置为用户的位置/他所持有的角度?

我正在使用:

delta = -40/180*math.pi  --
cos_delta, sin_delta = math.cos(delta), math.sin(delta)

来进行偏移,但如何确保设备所持有的角度为0

额外的代码:

    -- Speed of Movement with tilt. You can change it ans see the effects.
    tiltSpeed           = 30;
    motionx             = 0;
    motiony             = 0;
    rotation            = 0;

    --delta = -50/180*math.pi  -- 30 degrees, maybe should have minus sign
    --cos_delta, sin_delta = math.cos(delta), math.sin(delta)

-- 首先,您需要在“零位置”中获取加速计的值
-- 可能在onTilt事件内
local gy, gz = event.yGravity, event.zGravity
local len = math.sqrt(gy*gy+gz*gz) * (gz < 0 and -1 or 1)
cos_delta = gz / len
sin_delta = -gy / len

local function onTilt(event)
    motionx = tiltSpeed * event.xGravity
    motiony = tiltSpeed * (cos_delta*event.yGravity + sin_delta*event.zGravity)
end
点赞
用户1847592
用户1847592

首先,在“零位置”中获取加速度计的值,可能在 onTilt 事件中。

local gy, gz = event.yGravity, event.zGravity

其次,更新你的 cos_delta 和 sin_delta 以记住“零位置”:

local len = math.sqrt(gy*gy+gz*gz) * (gz < 0 and -1 or 1)
cos_delta = gz / len
sin_delta = -gy / len
2013-07-21 03:55:27