加速度計を使用して「鳥」を制御できますが、これが機能する唯一の問題は、デバイス(電話/タブレット)が平らなときに機能することですが、手に持ってプレイするとアイドル状態になりません。加速度計のゼロ点を y 軸上で 30° (度) のようにオフセットする方法はありますか?
display.setStatusBar (display.HiddenStatusBar);
system.setAccelerometerInterval( 50 );
system.setIdleTimer(false);
local background = display.newImage("bg.png")
--> GAME CHARACTER
local bird = display.newImage ("helicopter.png")
bird.x = 100;
bird.y = 100;
bird:setReferencePoint(display.CenterReferencePoint);
-- Speed of Movement with tilt. You can change it ans see the effects.
local tiltSpeed = 30;
local motionx = 0;
local motiony = 0;
local rotation = 0;
local function onTilt(event)
-- Its for the new position of the bird
motionx = tiltSpeed * event.xGravity;
motiony = tiltSpeed * event.yGravity;
end
local function moveBird (event)
bird.x = motionx + bird.x;
bird.y = bird.y - motiony;
bird.rotation = rotation;
end
Runtime:addEventListener("accelerometer", onTilt)
Runtime:addEventListener("enterFrame", moveBird)