私はコロナ SDK (バージョン 2001.562) の最近のデイリー ビルドを使用して、既存のアプリケーションにジャイロスコープのサポートを追加しています。残念ながら、event-handling
ジャイロスコープを起動する機能を取得できないようです。アプリケーションは、バージョン 4.3.3 の iPod touch で実行されています。
次のように、ジャイロスコープをイベント ハンドラーにアタッチします。
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
ファイルには表示されません!
お知らせ下さい。前もって感謝します!