2013-10-15 2 views
-1

누출,하지만 난 몇 가지 문제가 있습니다 코로나 SDK : 루아 메모리는 내가 현재 CoronaSDK (루아)에서 간단한 응용 프로그램을 만드는 중이라서

  • 내가 점수 카운터를 원하지만, 나는 그것을 만든 이후 내 응용 프로그램이 충돌 유지합니다.
  • "좋은"점수 카운터를 만드는 방법을 알아낼 수 없습니다. 일부 도움은 정말 감사하겠습니다. :

코드 :

을 P : 정말 몰랐

function points(num) 
    tmr = timer.performWithDelay(1000, points, 0) 
    num = 5 
    score = 2 
    score = score + num 
    scoreTxt.text = "score: " .. score 
    scoreTxt:setReferencePoint(display.TopLeftReferencePoint) 
    scoreTxt.x = screenLeft + 15 
end 

는 당신이 그것을 필요로하는 경우에 모르는 timer.cancel(tmr)

function explode() 
    timer.cancel(tmr) 
    explosion.x = jet.x 
    explosion.y = jet.y 
    explosion.isVisible = true 
    explosion:play() 
    jet.isVisible = false 
    timer.performWithDelay(3000, gameOver, 1) 
end 

function onCollision(event) 
    if event.phase == "began" then 
     if jet.collided == false then 
      timer.cancel(tmr) 
      num = nil; 
      score = nil; 
      jet.collided = true 
      jet.bodyType = "static" 

      explode() 
     end 
    end 
end 

에게 좀 더 정보를 넣어했다

score = 1.5; 
num = 1; 
scoreTxt = display.newText ("Score:", 0, 0, "Helvetica", 20) 
scoreTxt:setReferencePoint(display.TopLeftReferencePoint) 
scoreTxt.x = display.screenOriginX + 10 
scoreTxt.y = display.screenOriginX + 5 
screenLeft = display.screenOriginX 

누군가가 나를 도와 주면 정말 감사하겠습니다. 그것 : 미리 감사드립니다

+0

나는 귀하의 문제를 이해할 수 없습니다. 어떻게 출력을 기대하고 있습니다. 인터넷 검색 및 코로나 SDK에서 타이머를 사용하는 몇 가지 기본 구문을 배우십시오. – Malar

답변

1
tmr = timer.performWithDelay(1000, points, 0) 

이 라인 단위 기능은 무제한 함수 호출을 만듭니다. 그게 누출의 원인이야. 매초마다 포인트 콜을 원한다면 다른 곳에서 호출해야합니다.

관련 문제