Я использую последнюю ежедневную сборку Corona SDK (версия 2001.562), чтобы добавить поддержку гироскопа в существующее приложение. К сожалению, я не могу заставить функцию event-handling
запускать гироскоп. Приложение работает на iPod touch версии 4.3.3.
Я присоединяю гироскоп к обработчику событий следующим образом:
if system.hasEventSource("gyroscope") then
feedbackFile = io.open(system.pathForFile("log.txt", system.DocumentsDirectory), "a");
feedbackFile:write((os.clock()-startupTime).."\tgyroscope on\n");
io.close(feedbackFile);
Runtime:addEventListener( "gyroscope", onGyroscopeDataReceived )
else
feedbackFile = io.open(system.pathForFile("log.txt", system.DocumentsDirectory), "a");
feedbackFile:write((os.clock()-startupTime).."\tgyroscope off\n");
io.close(feedbackFile);
end
Когда я запускаю приложение на устройстве, затем закрываю его и загружаю файлы ресурсов, я обнаруживаю, что log.txt
содержит строку с timestamp
и "гироскоп включен". До сих пор хорошо!
Перейдем к функции обработки событий:
local function onGyroscopeDataReceived(event)
feedbackFile = io.open(system.pathForFile("log.txt", system.DocumentsDirectory), "a");
feedbackFile:write((os.clock()-startupTime).."\tgyroscope reading delta="..event.deltaRotation..",x="..event.xRotation..",y="..event.yRotation..",z="..event.zRotation.."\n");
io.close(feedbackFile);
end
Эта строка информации никогда не появляется в файле log.txt
!
Пожалуйста, порекомендуйте. Заранее спасибо!