【发布时间】:2017-01-05 21:54:44
【问题描述】:
大家好,我刚刚使用 Corona SDK 完成了我的应用程序,并想尝试制作我的第一款游戏。
当我的第一个应用程序学习加速度计时,我认为我的游戏也应该使用它。
所以我在屏幕上放了一个小涂鸦,让他在 X 和 Y 方向上由加速度计控制,游戏是横向的,但如果我让设备对着我倾斜,涂鸦会在 Y 方向滑出屏幕方向。
如果我躺在床上或懒洋洋地躺在沙发上,那么游戏将无法玩。
如何编写补偿这个角度的函数?
这是我目前的加速度计代码;
display.setStatusBar(display.HiddenStatusBar)
system.setAccelerometerInterval( 50 )
_W = display.contentWidth
_H = display.contentHeight
local player = display.newImageRect("doodle.png", 64, 64)
player:setReferencePoint(display.CenterReferencePoint)
player.x = _W/2
player.y = _H/2
-- Set up the Accelerometer values in Landscape
local motionX = 0
local motionY = 0
local function onAccelerate( event )
motionX = 10 * event.yGravity;
motionY = 10 * event.xGravity;
end
Runtime:addEventListener ("accelerometer", onAccelerate);
-- Make the player move on tilt.
local function movePlayer (event)
player.x = player.x + motionX;
player.y = player.y - motionY;
end
Runtime:addEventListener("enterFrame", movePlayer))
【问题讨论】:
-
只是想看看您是否解决了您的问题,因为我也遇到了同样的问题。谢谢
标签: lua coronasdk accelerometer angle tilt