local isSimulator = "simulator" == system.getInfo ("environment")
- Ускоритель не поддерживается в Simulator
, если isSimulator тогда - Пожалуйста, отобразите конец окна оповещения
- Текстовые параметры локальная меткаx = 50 локальная x = 220 локальная y = 95 локальная fontSize = 24
локальная frameUpdate = false
локальная xglabel = display.newText ("gravity x = ", labelx, y, native.systemFont, fontSize) xglabel: setTextColor (255,255,255) локальный xg = display.newText (" 0.0 ", x, y, native.systemFont, fontSize) xg: setTextColor (255,255,255) y =y + 25 локальный yglabel = display.newText ("gravity y =", labelx, y, native.systemFont, fontSize) локальный yg = display.newText ("0.0", x, y, native.systemFont, fontSize) yglabel: setTextColor(255,255,255) yg: setTextColor (255,255,255) y = y + 25 локальный zglabel = display.newText ("gravity z =", labelx, y, native.systemFont, fontSize) локальный zg = display.newText ("0.0", x,y, native.systemFont, fontSize) zglabel: setTextColor (255,255,255) zg: setTextColor (255,255,255) y = y + 50 локальных xilabel = display.newText ("instant x =", labelx, y, native.systemFont, fontSize) локальных xi = display.newText ("0.0", x, y, native.systemFont, fontSize) xilabel: setTextColor (255,255,255) xi: setTextColor (255,255,255) y = y + 25 локальных yilabel = display.newText ("instant y =", labelx, y, native.systemFont, fontSize) локальный yi =display.newText ("0.0", x, y, native.systemFont, fontSize) yilabel: setTextColor (255,255,255) yi: setTextColor (255,255,255) y = y + 25 локальных zilabel = display.newText ("instant z =", labelx,y, native.systemFont, fontSize) локальный zi = display.newText ("0.0", x, y, native.systemFont, fontSize) zilabel: setTextColor (255,255,255) zi: setTextColor (255,255,255)
- Создатькруг, который перемещается вместе с событиями ускорителя
локальный центрX = display.contentWidth / 2 локальный центрY = display.contentHeight / 2
Circle = display.newCircle (0, 0, 20) Circle.x= centerX Circle.y = centerY Circle: setFillColor (0, 0, 255) - синий
локальный textMessage = функция (str, location, scrTime, размер, цвет, шрифт)
local x, t
size = tonumber(size) or 24
color = color or {255, 255, 255}
font = font or "Helvetica"
if "string" == type(location) then
if "Top" == location then
x = display.contentHeight/4
elseif "Bottom" == location then
x = (display.contentHeight/4)*3
else
-- Assume middle location
x = display.contentHeight/2
end
else
-- Assume it's a number -- default to Middle if not
x = tonumber(location) or display.contentHeight/2
end
scrTime = (tonumber(scrTime) or 3) * 1000 -- default to 3 seconds (3000) if no time given
t = display.newText(str, 0, 0, font, size )
t.x = display.contentWidth/2
t.y = x
t:setTextColor( color[1], color[2], color[3] )
-- Time of 0 = keeps on screen forever (unless removed by calling routine)
if scrTime ~= 0 then
-- Function called after screen delay to fade out and remove text message object
local textMsgTimerEnd = function()
transition.to( t, {time = 500, alpha = 0},
function() t.removeSelf() end )
end
-- Keep the message on the screen for the specified time delay
timer.performWithDelay( scrTime, textMsgTimerEnd )
end
return t -- return our text object in case it's needed
end - textMessage ()
локальная функция xyzFormat (obj, значение)
obj.text = string.format( "%1.3f", value )
-- Exit if not time to update text color
if not frameUpdate then return end
if value < 0.0 then
-- Only update the text color if the value has changed
if obj.positive ~= false then
obj:setTextColor( 255, 0, 0 ) -- red if negative
obj.positive = false
print("[---]")
end
else
if obj.positive ~= true then
obj:setTextColor( 255, 255, 255) -- white if postive
obj.positive = true
print("+++")
end
end
end
локальная функция onAccelerate (событие)
xyzFormat( xg, event.xGravity)
xyzFormat( yg, event.yGravity)
xyzFormat( zg, event.zGravity)
xyzFormat( xi, event.xInstant)
xyzFormat( yi, event.yInstant)
xyzFormat( zi, event.zInstant)
frameUpdate = false -- update done
-- Move our object based on the accelerator values
Circle.x = centerX + (centerX * event.xGravity)
Circle.y = centerY + (centerY * event.yGravity * -1)
-- Display message and sound beep if Shake'n
if event.isShake == true then
-- str, location, scrTime, size, color, font
textMessage( "Shake!", 400, 3, 52, {255, 255, 0} )
end
end
локальная функция onFrame () frameUpdate = true end
- Добавить прослушиватели времени выполнения Runtime: addEventListener ("accelerometer", onAccelerate);Время выполнения: addEventListener ("enterFrame", onFrame);
Надеюсь, этот код вам поможет.