2011-07-06 2 views
1

저는 최근 응용 프로그램에 자이로 스코프 지원을 추가하기 위해 코로나 SDK (버전 2001.562)의 최근 일일 빌드를 사용하고 있습니다. 불행히도, 나는 자이로 스코프에 대해 event-handling 기능을 사용할 수 없습니다. 응용 프로그램은 iPod touch 버전 4.3.3에서 실행됩니다.Corona SDK의 최근 자이로 스코프 지원이 응답하지 않는 것 같습니다.

나는과 같이 이벤트 핸들러에 자이로 스코프를 첨부 : 나는 장치에서 응용 프로그램을 실행하면

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.txttimestamp으로 라인을 포함 것을 발견 및 "자이로 스코프 온". 아직 까진 좋음! 이벤트 처리 기능에

:

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 파일에 나타납니다!

알려 주시기 바랍니다. 미리 감사드립니다!

+0

내 장치,하지만 다른 아이팟 터치, 버전 4.3.3에서 위의 코드를 시도하고 동일한 실망스러운 결과를 얻었습니다. – JDT

답변

0

그냥 추측 할 수는 없지만 당신의 청취자가 전화를받지 않을 수도 있습니다 --- 귀하의 onGyroscopeDataReceived 기능이 로컬임을 알았습니다. 이 경우 addEventListener 호출 이전에 변수가 선언되었는지 확인해야합니다.

2

문제는 event.deltaRotation이 존재하지 않습니다. event.deltaTime을 의미 할 수 있습니다.

그런 다음 nil 값을 연결하면 Lua에서 오류가 발생하고 쓰기 코드가 완료되지 않습니다. (. 당신이 장치에 루아 오류가 발생할 때 최신 일일 빌드는 이제 메시지를 출력 할 것이다)

를 문서는 자신의 deltaDegrees 또는 deltaRadians을 계산하는 방법을 보여줍니다 내가 함께 거짓말을 수있는 문제를 의심 http://developer.anscamobile.com/reference/index/events/gyroscope/eventxrotation

관련 문제