将加速度计运动应用于Corona

我正在使用corona sdk通过倾斜移动飞机。但是我的游戏是横向的。我不确定问题出在代码哪里。运动似乎很奇怪。我理解问题是因为游戏是横向的。有人能帮我解决吗?

下面是我使用的代码

function onTilt(event)
    motionx = 20*event.xGravity
    motiony = 20*event.yGravity
    plane.x=plane.x+motionx
    plane.y=plane.y-motiony
end
Runtime:addEventListener("accelerometer", onTilt)
点赞
用户2130287
用户2130287

你所说的“奇怪的动作”是什么意思?你能具体一些吗?尝试将 motion.y 加到 plane.y 上,而不是减去它。这可能是你奇怪动作的原因。

2013-05-06 19:27:21
用户889843
用户889843

你可以使用以下代码:

-- 创建一个对象

local object = display.newImage("indicator.png")

object:setReferencePoint(display.CenterReferencePoint)
object.x = display.contentWidth * 0.5
object.y = display.contentWidth * 0.5 + 50

-- 加速度计事件

local accObject = {}
local centerX = display.contentWidth * 0.5

function accObject:accelerometer(e)
    object.x = centerX + (centerX * e.xGravity)
end

Runtime:addEventListener("accelerometer", accObject)

请根据你的需要尝试使用上述方法。我希望它能帮到你。

2013-05-07 04:07:07
用户1187316
用户1187316
得到了解决方案....实际上,解决方案很简单....谢谢大家。

motionx = 20 * event.yGravity
motiony = 20 * event.xGravity

plane.x = plane.x - motionx
plane.y = plane.y - motiony
2013-05-18 13:25:30