안녕하세요 저는 게임을하고 있는데 하나의 물건이 있습니다. 이 객체에는 터치 이벤트가 있습니다. 터치가 250ms보다 적더라도 터치 확인을 추가했습니다. 그렇지 않으면 탭으로 간주합니다. 탭 이벤트에서 저는 10 포인트 씩 값을 증가시킵니다. 나는 객체의 값이 눌려지면 값을 1 씩 감소시키고 싶습니다. 코드를 추가했지만 한 번만 수행합니다.Corona SDK에서 길게 누르면 값이 감소합니다.
질문은 어떻게 터치 이벤트가 기록되는 동안 값을 계속 감소시킬 것인가입니다. 코드는 아래 참조 용으로 제공됩니다.
local function countTaps(event)
if event.phase == "began" then
beganTime = event.time
elseif event.phase == "ended" then
endedTime = event.time
if (endedTime - beganTime) < 250 then
climbUp()
return true
else
climbDown()
end
end
그러나이 코드는 완료되면 탭/터치를 결정합니다. 더 나은 런타임 대안이 될 수있는 것
관한 정보 [타이머 (https://docs.coronalabs.com/api/library/timer/performWithDelay.html), timer.pause() (https://docs.coronalabs.com/ api/library/timer/pause.html) 및 [timer.resume()] (https://docs.coronalabs.com/api/library/timer/resume.html) 함수가 유용 할 것입니다. – ldurniat
명시된대로 추가 할 때 한 번만 실행됩니다. –
옵션 반복 인수는 0의 값을 지정 또는 -1 경우가 반복적으로 발생하게 performWithDelay()''에있다. 문서에서 :'timer.performWithDelay (delay, listener [, iterations])'. 예를 들어, 200ms (대략)마다 'climbDown'을 호출하려면'timer.performWithDelay (200, climb down, -1)'을 사용합니다. – GoojajiGreg